我有一個滑塊的問題。當我第一次加載我的網頁時,它會顯示帶有一些圖像的滑塊。我有一些鏈接來改變圖像顯示,所以當我點擊時,我想顯示爲其他的滑塊。問題是,當我點擊新鏈接時,它不使用jquery函數來格式化滑塊。如何重新加載JavaScript但不是頁面
這裏我粘貼一些代碼,這樣你可以計算出:
<div class="contenidor_escaparates_2011">
<div id="contenidor_slider" class="containerGaleria">
<ul id="slideshow">
<li><img src="img/Escaparates_2011/img1.jpg" alt="Dormitorio azul turquesa." /></li>
<li><img src="img/Escaparates_2011/img2.jpg" alt="Escaparate Agosto 2011." /></li>
<li><img src="img/Escaparates_2011/img3.jpg" alt="Escaparate Enero 2011." /></li>
</ul> </div></div>
然後jQuery的:
$(document).ready(function()
{
var timeout, manualMode = false,
$slideshow = $('#slideshow'),
$items = $slideshow.find('li').hide(),
total = $items.length,
getItem = function($item, trav) {
var $returnItem = $item[trav]();
return $returnItem.length ?
$returnItem :
$items[(trav == 'next') ? 'first' : 'last']();
},
showItem = function($currentItem, $itemToShow) {
var $itemToShow =
$itemToShow || getItem($currentItem,'next');
$currentItem.fadeOut(300, function() {
$itemToShow.fadeIn(300, fadeCallback);
});
},
fadeCallback = function() {
if (manualMode) { return; }
var $this = $(this),
$next = getItem($this, 'next'),
num = $this.prevAll().length + 1;
// set the timeout for showing
// the next item in 5 seconds
timeout = setTimeout(function() {
showItem($this, $next);
}, 3000);
},
handleBtnClick = function(e) {
clearTimeout(timeout);
manualMode = true;
var $currentItem = $items.filter(':visible'),
$itemToShow = getItem($currentItem, e.data.direction);
showItem($currentItem, $itemToShow);
};
$items.eq(0).fadeIn(500, fadeCallback);
});
這工作適合我第一次加載頁面,但是當我改變與此的內容:
<script type="text/>
$('#nuestra_tienda_show').click(function()
{
$('.containerGaleria').html('');
$('<ul id="slideshow"><li><img src="img/Escaparates_2011/img1.jpg" alt="Dormitorio azul turquesa." /></li><li><img src="img/Escaparates_2011/img2.jpg" alt="Escaparate Agosto 2011." /></li><li><img src="img/Escaparates_2011/img3.jpg" alt="Escaparate Enero 2011." /></li><li><img src="img/Escaparates_2011/img4.jpg" alt="Escaparate Junio 2011." /></li><li><img src="img/Escaparates_2011/img5.jpg" alt="" /></li><li><img src="img/Escaparates_2011/img6.jpg" alt="" /></li><li><img src="img/Escaparates_2011/img7.jpg" alt="" /></li><li><img src="img/Escaparates_2011/img8.jpg" alt="" /></li><li><img src="img/Escaparates_2011/img9.jpg" alt="" /></li><li><img src="img/Escaparates_2011/img10.jpg" alt="" /></li><li><img src="img/Escaparates_2011/img11.jpg" alt="" /></li><li><img src="img/Escaparates_2011/img12.jpg" alt="" /></li><li><img src="img/Escaparates_2011/img13.jpg" alt="" /></li><li><img src="img/Escaparates_2011/img14.jpg" alt="" /></li></ul> ')
.prependTo('.containerGaleria');
$('#galeria_seleccionada').html('Nuestra tienda 2011');
location.reload();
});
</script>
所以基本上,我做的是,在某個鏈接上的onclick()事件後,我改變了div的html內容,但很明顯,它不使用jquery,因爲它一開始沒有加載。任何想法如何解決這個問題?
如果我使用location.reload();它顯示了第一項我裏面,所以它並沒有爲我工作...
編輯:
等待,我編輯的jsfiddle ...
爲什麼你不把你的畫廊代碼包裝在一個函數中,並在文檔上調用它。那麼,如果您需要更改元素,請更改它們並再次調用函數? – RaphaelDDL
我們沒有用於其他主題的html。請發佈鏈接/按鈕的HTML代碼 –
您無法刪除已執行的JavaScript,但是,您可以通過將其存儲在函數中並根據需要多次運行該函數來重新執行JavaScript。 –