<html><head><script type="text/javascript" src="/jquery/jquery.js"></script><script type="text/javascript">$(document).ready(function(){$("button").click(function(){$("p").hide(1000,function(){alert("The paragraph is now hidden");});});});</script></head><body><button type="button">Hide</button><p>This is a paragraph with little content.</p><p>This is a paragraph with little content.</p><p>This is a paragraph with little content.</p></body></html>callback函數alert()一共提示了三次,我想讓它只提示一次,需要如何修改代碼?有沒有可能通過one()來實現?
2 回答

肥皂起泡泡
TA貢獻1829條經驗 獲得超6個贊
$("p").hide(1000,function(){
var n=$("p").index(this);
if(n==0)
alert("The paragraph is now hidden");
});
一、在你這個場景下one()是無法達到你的要求的
二、你可以用n=?來靈活控制什么時候觸發alert

慕標琳琳
TA貢獻1830條經驗 獲得超9個贊
因為你有三個<p>啊,點擊的時候三個都執行了,提示一次的話:
$(document).ready(function(){
$("button").click(function(){
$("p").hide(1000);
alert("The paragraph is now hidden");
});
});
其實可以用queue方法,不過有個投機取巧的:你在三個p標簽外面套個div,比如設置id="pDiv" 然后 $("#pDiv").hide(1000,function(){ alert("The paragraph is now hidden"); });
- 2 回答
- 0 關注
- 782 瀏覽
添加回答
舉報
0/150
提交
取消