2015-06-15 3 views
1

Я просматривал другие вопросы и тестировал решения, но не понял, что работает, поэтому я решил попробовать и получить конкретную помощь.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 
}); 

Спасибо, что нашли время, дайте мне знать, если вам нужно больше информации

ответ

0

У меня возникли проблемы с пониманием достаточно вашего вопроса, чтобы оказать слишком большую помощь. Возможно, сборка jsfiddle, которую мы могли видеть, была бы полезна.

Что касается кода, отображаемого на странице, он либо исходит из вашего javascript, библиотеки JavaScript, которую вы используете, либо просто на странице где-то в виде текста в HTML. Сначала я бы сделал поиск в ваших файлах проекта, чтобы найти его. Это должно сделать это. Если нет, попробуйте исключить библиотеки JavaScript, которые вы используете, чтобы увидеть, исчезнет ли она. Это укажет на проблему.

Независимо от того, я думаю, нам нужна дополнительная информация или демонстрационная версия jsfiddle.

+0

Hi KyleK благодарит за ответ. Я работаю над сайтом sharepoint и использую вышеуказанный скрипт для создания вкладок для веб-страниц. Но одним из требований является вкладка, которая отображает все веб-страницы под другими вкладками на одной странице. Но что происходит, независимо от того, какая вкладка я нажимаю, он расширяет вкладки и добавляет в код, который я упомянул. Вот jsfiddle, но веб-части не появятся для него. https://jsfiddle.net/bcg87wej/4/ – Kieran

Смежные вопросы