我對Javascript一般來說比較陌生,我拼湊了一些來自本網站大部分內容的小腳本,試圖獲得一個小的iframe通過一系列的鏈接循環播放,它的表現非常出色。不過,我也希望它在用戶點擊iframe或其任何內容時停止騎車。Javascript - JQuery - clearInterval/setInterval - iframe循環不會停止點擊
這是我到目前爲止的代碼。 HTML頁面上只有一個iframe。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8">
<!--
var sites = [
"side/html5.html",
"side/silverlight.html",
"side/wordpress.html",
"side/mysql.html",
"side/php.html",
"side/css3.html"
];
var currentSite = sites.length;
var timerId;
var iframeDoc = $("iframe").contents().get(0);
$(document).ready(function()
{
var $iframe = $("iframe").attr("src","side/html5.html");
timerId = setInterval(function()
{
(currentSite == 0) ? currentSite = sites.length - 1 : currentSite = currentSite -1;
$iframe.attr("src",sites[currentSite]);
}, 4000);
$(iframeDoc).bind('click', function()
{
clearInterval(timerId);
});
});
//-->
</script>
</head>
<body>
<sidebar>
<iframe name="sideframe" src="side/html5.html"></iframe>
</sidebar> ..etc..
請幫幫忙,我想學習JavaScript一樣快,我可以,但就我所看到的,它應該工作,但它確實沒有。
感謝您給我提供的任何幫助,非常感謝。
編輯:
好吧,我已經有了一個新的腳本現在,大多是基於關閉Elias的工作,但它也不管用。我已經將它固定在Firebug中,它的意思是說timerCallback.currentSite的值是正確更新的,儘管我找不到$ iframe的src值來明確地檢查它。據我所知,它正在更新變量,它只是不正確地更新iframe。我是否在此代碼中正確調用/設置iframe?此外,鏈接在jquery庫足夠我的目的?我有點失去了所有的這些庫鏈接到的......
<script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
<script type="text/javascript" charset="utf-8">
<!--
var sites =
[
"side/html5.html",
"side/silverlight.html",
"side/wordpress.html",
"side/mysql.html",
"side/php.html",
"side/css3.html"
];
var $iframe = $("iframe").attr("src","side/html5.html");
function timerCallback()
{
timerCallback.currentSite = (timerCallback.currentSite ? timerCallback.currentSite : sites.length) -1;
$iframe.attr("src",sites[timerCallback.currentSite]);
$($('iframe').contents().get('body')).ready(function()
{
$(this).unbind('click').bind('click',function()
{
var theWindow = (window.location !== window.parent.location ? window.parent : window);
theWindow.clearInterval(theWindow.timerId);
});
});
}
var timerId = setInterval(timerCallback, 4000);
//-->
</script>
當用戶將鼠標懸停在iframe上時,如何暫停它? – 2012-04-20 11:17:41
'$('iframe')'位不起作用,它將返回一個1(或更多,取決於頁面上iframe的數量)的數組。對不起,但它是僞代碼。嘗試使用'$('iframe')[0]'或給iFrame一個id,並使用id選擇器'$('#iFrameId')' – 2012-04-20 13:54:49
我試過了你的建議和'$('#sideframe') '並且'$('iframe')[0]是未定義的',因爲錯誤(對其他人也是如此)。完整的:'var $ iframe = $('iframe')[0] .attr(「src」,「side/html5.html」);' - 我會把這個在線並讓你看到它的行動。編輯:見http://www.gandcdesign.co.uk/ – 2012-04-20 14:36:08