Я просматривал другие вопросы и тестировал решения, но не понял, что работает, поэтому я решил попробовать и получить конкретную помощь.JQuery Показать все вкладки - Проблема с нажатием
При нажатии любой вкладки они отображают все содержимое вкладки, но в обратном порядке и с некоторым кодом между веб-частями. Я также не уверен, как. получите его, чтобы код не показывался на веб-странице и b. вернитесь к показу только одной вкладки, если вы выберете другую вкладку.
код, который появляется на странице:
javascript:commonShowModalDialog('{SiteUrl}/_layouts/itemexpiration.aspx?ID={ItemId}&List={ListId}', 'center:1;dialogHeight:500px;dialogWidth:500px;resizable:yes;status:no;location:no;menubar:no;help:no', function GotoPageAfterClose(pageid){if(pageid == 'hold') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/hold.aspx?ID={ItemId}&List={ListId}'); return false;} if(pageid == 'config') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/expirationconfig.aspx?ID={ItemId}&List={ListId}'); return false;}}, null); return false;
0x0
0x1
ContentType
0x01
898
JavaScript код
<script type="text/javascript">
jQuery(document).ready(function($) {
$(".s4-wpcell").hide();
$(".s4-wpcell-plain").hide();
//Put the Web Part Title for all the Web Parts you wish
//to put into the tabbed view into the array below.
setTimeout(function() {
HillbillyTabs(["Projects;#Projects","Notes;#Notes","Did You Know?;#Did You Know?"]);
}, 800);
$('#tabsContainer').click('tabsselect', function (event, ui) {
var selectedTab = $("#tabsContainer").tabs('option', 'active');
if(selectedTab = 3){
$('div#tabsContainer div').show()
} else{
//not sure what to add here
});
});
function HillbillyTabs(webPartTitles)
{
if(webPartTitles == undefined)
{
var CEWPID = "";
$("#tabsContainer").closest("div [id^='MSOZoneCell_WebPart']").find("span[id^='WebPartCaptionWPQ']").each(function()
{
CEWPID = $(this).attr("id");
});
var index = 0;
$("span[id^='WebPartCaptionWPQ']").each(function()
{
if($(this).attr("id") != CEWPID)
{
var title = $(this).prev("span").text();
$("#HillbillyTabs").append('<li><a href="#Tab'+index+'" id="TabHead'+index+'" onclick="HillbillyTabClick(this.id);">'+
title+'</a></li>').after('<div id="Tab'+index+'"></div>');
var webPart = $(this).prev("span").hide().closest("span").closest("[id^='MSOZoneCell_WebPart']");
$("#Tab" + index).append((webPart));
index++;
}
});
} else {
for(index in webPartTitles)
{
var title = webPartTitles[index];
var tabContent = title.split(";#");
if (tabContent.length > 1)
{
$("#HillbillyTabs").append('<li><a href="#Tab'+index+'" id="TabHead'+index+'" onclick="HillbillyTabClick(this.id);">'+
tabContent[0]+'</a></li>').after('<div id="Tab'+index+'"></div>');
for(i = 1; i < tabContent.length; i++)
{
$("span[id^='WebPartCaptionWPQ']").each(function()
{
$(this).prev("span:contains('"+tabContent[i]+"')").each(function()
{
if ($(this).text() == tabContent[i]){
var webPart = $(this).closest("span").closest("[id^='MSOZoneCell_WebPart']").parent();
$("#Tab" + index).append((webPart));
}
});
});
}
}
else
{
$("span[id^='WebPartCaptionWPQ']").each(function()
{
$(this).prev("span:contains('"+title+"')").each(function()
{
if ($(this).text() == title){
$("#HillbillyTabs").append('<li><a href="#Tab'+index+'" id="TabHead'+index+'" onclick="HillbillyTabClick(this.id);">'+
title+'</a></li>').after('<div id="Tab'+index+'"></div>');
var webPart = $(this).hide().closest("span").closest("[id^='MSOZoneCell_WebPart']");
$("#Tab" + index).append((webPart));
}
});
});
}
}
}
//code to add it show all tab
index++;
var title = "Expand All";
$("#HillbillyTabs").append('<li><a href="#Tab'+index+'" id="TabHead'+index+'" oonclick="HillbillyTabClick(this.id);">'+
title+'</a></li>').after('<div id="Tab'+index+'"></div>');
var webPart = $(this).prev("span").hide().closest("span").closest("[id^='MSOZoneCell_WebPart']");
$("#Tab" + index).append((webPart));
$("#tabsContainer").tabs();
$(".s4-wpcell").show();
$(".s4-wpcell-plain").show();
}
function SetCookie(id)
{
var date = new Date();
//make the cookie expire in 5 minutes
date.setTime(date.getTime()+(300*1000));
var expires = "; expires="+date.toGMTString();
document.cookie = "ActiveTab="+id+expires+"; path=/";
}
function ShowActiveTab()
{
var name = "ActiveTab";
var cookieArray = document.cookie.split(";");
for (index in cookieArray)
{
var keyValuePair = cookieArray[index].split("=");
var key = keyValuePair[0];
key = key.replace(/^\s+|\s+$/g, "");
if (key == name)
{
var value = keyValuePair[1];
$("#" + value).click();
return;
}
}
}
</script>
<div id="tabsContainer"><ul id="HillbillyTabs"></ul></div>
Это код, который я пытаюсь использовать для создания на мыши функцию показа всех вкладок. Он показывает все содержимое, но на загрузке страницы, но когда я перейдите на вкладке
$('#tabsContainer').click('tabsselect', function (event, ui) {
var selectedTab = $("#tabsContainer").tabs('option', 'active');
if(selectedTab = 3){
$('div#tabsContainer div').show()
} else{
//not sure what to add here
});
Спасибо, что нашли время, дайте мне знать, если вам нужно больше информации
Hi KyleK благодарит за ответ. Я работаю над сайтом sharepoint и использую вышеуказанный скрипт для создания вкладок для веб-страниц. Но одним из требований является вкладка, которая отображает все веб-страницы под другими вкладками на одной странице. Но что происходит, независимо от того, какая вкладка я нажимаю, он расширяет вкладки и добавляет в код, который я упомянул. Вот jsfiddle, но веб-части не появятся для него. https://jsfiddle.net/bcg87wej/4/ – Kieran