2017-01-26 4 views
0

Also habe ich eine URL, die # gallery-carousel-3 enthält. Wenn ein Benutzer auf das rechte Symbol (.icon.icon-arrow-right) klickt, wird die .blockd-Klasse hinzugefügt. Das funktioniert gut. Aber wenn ein Benutzer auf das linke Icon (.icon.icon-arrow-left) klickt, möchte ich die .blockd-Klasse entfernen, wenn die URL # gallery-carousel-3 enthält und wenn das .panel-display div sichtbar ist. Ich kann nicht scheinen, den zweiten Teil zu bekommenWie überprüfe ich, ob ein Element sichtbar ist und überprüfe, ob die URL eine Zeichenfolge enthält, die JQuery verwendet?

zu arbeiten

Mein Code ist unten:

 jQuery(document).ready(function($) { 

      $('.icon.icon-arrow-right').click(function(){ 

       if(window.location.href.indexOf("#gallery-carousel-3") > -1 && $('.ad-panel').filter(':visible').length == 0) { 
       $('.owl-wrapper-outer').addClass('blockd'); 

       }   

      }); 

      $('.icon.icon-arrow-left').click(function(){ 


       if(window.location.href.indexOf("#gallery-carousel-3") > -1 && $('.panel-display').is(':visible')) { 
       $('.owl-wrapper-outer').removeClass('blockd'); 
       }    


      }); 
     }); 
+0

Könnten Sie eine Benachrichtigung Anweisung als 'Alarm hinzufügen ($() ist ('Panel-Display. '': sichtbar'))' vor dem 'if' Zustand' if (window.location.href.indexOf ("# gallery-carousel -3 ")> -1 && $ ('. Panel-display'). Is (': visible'))' um zu überprüfen, dass '.panel-display' tatsächlich sichtbar ist? –

+0

Ja, ich werde das überprüfen. – Mariton

Antwort

1

Sie können den Wert der Raute (#) in der URL erhalten mit: location.hash

So , Ihre uRL unter der Annahme http://example.com/#gallery-carousel-3

var urlHash = location.hash; // => #gallery-carousel-3 
+0

Ich verstehe und location.hash gibt den Speicherort zurück. Ich versuche herauszufinden, warum 'if (window.location.href.indexOf (" # gallery-carousel-3 ")> -1 && $ ('. Panel-display'). Ist (': visible')) 'funktioniert nicht richtig – Mariton

+0

Ah, dann öffnen Sie Ihre Chrome-Dev-Tools und prüfen Sie, welcher Teil des' if() 'nicht übergeben wird. Ich vermute '$ ('. Panel-display'). Is (': visible')' ist nicht wahr –

+0

Ok, ich werde es überprüfen. Das bringt mich auf den richtigen Weg – Mariton

Verwandte Themen