2013-04-25 37 views
0

我創建了一個瀏覽特定頁面上幻燈片列表的菜單。可以瀏覽多個頁面的屬性的自定義屬性(JQuery&HTML)

的HTML代碼是如下: -

<ul class="dropdown"> 
     <li class="orange"><a href="#" data-jumpslide="2"><div class="list-item one-liner"><div class="left"><span id="functionality-icon"></span></div> <div class="right">When to do it</div><div class="clear"></div></div></a></li> 
     <li class="orange"><a href="#" data-jumpslide="3" ><div class="list-item one-liner"><div class="left"><span id="functionality-icon"></span></div> <div class="right">Key faces</div><div class="clear"></div></div></a></li> 
     <li class="orange"><a href="#" data-jumpslide="5" ><div class="list-item one-liner"><div class="left"><span id="functionality-icon"></span></div> <div class="right">Functionalities</div><div class="clear"></div></div></a></li> 
</ul> 

通知「自定義屬性」的標籤,它告訴我哪滑動來瀏覽。

這個js代碼允許我這樣做: -

$('a[data-jumpslide]').each(function(idx, ele){ 
    $(ele).on('click', function(){ 
     var slideToJump = $(this).data('jumpslide'); 
     window.slider.go(false, slideToJump+1); 
    }); 
}); 

正如你可以看到,它會在頁面上滑動的數量,只是跳就可以了。

幻燈片全都在同一頁面上,所以基本上這段代碼在同一頁面上移動,並帶着我想要去的任何一張幻燈片。我的問題是現在我一直在嘗試在另一個頁面上移動幻燈片。

所以,如果我點擊一個鏈接移動到具有特定幻燈片編號的不同頁面,我該如何能夠做到這一點?

謝謝。

+0

作爲一個旁註,將相同元素綁定到大集合時使用委託事件被認爲是一種好的做法,而不是將事件綁定到每個元素。 ('click','a [data-jumpslide]',function(){slideToJump = $(this).data('jumpslide'); 窗口。 slider.go(false,slideToJump + 1); });' – ceaggregation 2013-04-25 20:54:10

+0

非常感謝您的評論。我一定會改變這一點。 – Steve 2013-04-25 20:59:59

回答

1

您需要將該幻燈片值作爲哈希標記傳遞到下一頁。

的頁面應該包括一個腳本來檢查該hastag值:

window.location.hash; 

然後簡單地傳遞該散列值在滑動選擇器功能。

要獲得href和包括hashtag,你只需要修改你有什麼目前:

$('a[data-jumpslide]').each(function(idx, ele){ 
    $(ele).on('click', function(e){ 
     e.preventDefault(); 
     var href = $(this).attr('href'); 
     var slideToJump = $(this).data('jumpslide'); 
     slideToJump++; 
     window.location(href+'#'+slideToJump); 
    }); 
}); 

然後你的目標HREF應該有這樣的事情來捕捉主題標籤:

<script> 
$(document).ready(function(){ 
    var hash = window.location.hash; 
    window.slider.go(false, hash); 
}); 
</script> 
+0

準確地說,我會使用href屬性並通過執行'e.preventDefault'來防止默認事件。捕獲href,如果它存在,則觸發一個'window.location(href + hashtag);' – 4m1r 2013-04-25 21:03:54

+0

感謝您對4m1r的精彩幫助!但是在實現它的時候,我得到這個錯誤:「object [object global]的Uncaught TypeError:Property'location'不是一個函數」...正好在window.location中它應該重定向的地方。任何想法呢?謝謝。 – Steve 2013-04-26 14:49:41