SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Linke Navigation - JQuery-Frage

Unbeantwortet Dieser Beitrag hat 0 Antworten

Ohne Rang
349 Beiträge
Manfred K. erstellt 10 Juni 2013 17:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe jquery-Problem bei der Linken Navigation. Ich möchte die als Accordion darstellen.

Ich habe folgende Struktur:

Seite1

 - Unterseite1

     - Untersite 1.1

Seite2

Wenn ich Unterseite1 anclicke, dann erscheint Untersite 1.1 und das ganze Baum wird sichtbar, wenn ich aber dann Untersite 1.1 anclicke, dann wird das Baum zugeklappt und es sieht so aus:

Seite1

Seite2

 

Könnte jemand evtl. mein Coding anschauen:

<script src="_/jquery-1.8.3.min.js" type="text/javascript"></script>

<script type="text/javascript">
$(document).ready(function() {
// do stuff when DOM is ready

$("div.menu-vertical>ul.root>li.static>a").each(function(){
 var hasChild=$(">ul", $(this).parent()).html();
 
 if(hasChild!= null)
 {
  $(this).find("span.menu-item-text").append(
    "<img src='/_layouts/images/plus.gif' border='0' class='imgAlign'/>");
 }
});

$("img.imgAlign").toggle(
    function () {   
     $("div.menu-vertical>ul.root>li.static>ul.static").css("display","none");
     $(">ul", $(this).parent().parent().parent().parent()).show("fast");
     $("img.imgAlign").attr('src','/_layouts/images/plus.gif');
     $(this).attr('src','/_layouts/images/minus.gif');
    },
    function () {
      $(">ul", $(this).parent().parent().parent().parent()).hide("fast");
      $(this).attr('src','/_layouts/images/plus.gif');     
    }
  );
makeLNCollapsible();

$('li.selected').parent().show("fast"); 

var jChildrens = $('li.selected').parent().parent();

if (jChildrens.length > 0) {           
  $(this).css("background","url('/_layouts/images/Menu1.gif') no-repeat 90% 20px");   
 }
});  

function makeLNCollapsible()
{
$("div.menu-vertical>ul.root>li.static>a").toggle(
function () {
var menuitem = $(this);
$(">ul", $(this).parent()).show("fast", function() {
 window.location = menuitem.attr('href');
 //$(this).attr('src','/_layouts/images/minus.gif');
});
//$($(this).parent()).css("background","url('/_layouts/images/minus.gif') no-repeat 90% 20px");

},
function () {
$(">ul", $(this).parent()).hide("fast");
//$($(this).parent()).css("background","url('/_layouts/images/minus.gif') no-repeat 90% 20px");
     }
);

$("li.static>ul.static").css("display","none");
$selectedEntry = $('li.static>ul.static .selected');
if($selectedEntry.length>0) {
    $selectedEntry.parent().css("display", "block");
   // $selectedEntry.parent().parent().css("background-color", "red");

}
$selectedEntry = $('li.static.selected');
if($selectedEntry.length > 0) {
    $selectedEntry.children('ul.static').css("display", "block");
}
}
 </script>

Danke.