1. 程式人生 > >分別使用js和JQuery實現html首頁圖片輪播以及廣告圖片定時彈出

分別使用js和JQuery實現html首頁圖片輪播以及廣告圖片定時彈出

主要使用setInterval方法設定更新週期,clearInterval清除週期。(如果不清除會一直週期迴圈執行下去,而setTimeout只是在指定時間後執行一次,這裡完全可以替換為setTimeout方法) 

 一、js首頁輪播

第一步:確定事件(onload)併為其繫結一個函式

瀏覽器是邊載入邊執行的,先載入head 再載入body。瞭解body的onload事件的執行時間是非常重要的。onload事件是在網頁載入完畢時執行的。當我們在JavaScript中想要操作某元素時而此元素還沒有載入完成(即沒有這個元素),就會出現此元素沒定義。在body中新增onload事件是指所有的元素都載入完成時觸發此事件。而元素中的onload事件是指此元素載入完成時觸發。所以操作程式碼最好放在onload事件中。onload()此事件只能寫一次並且放到body標籤中。
第二步:書寫繫結的這個函式
第三步:書寫定時任務(setInterval)
第四步:書寫定時任務裡面的函式
第五步:通過變數的方式,進行迴圈(獲取輪播圖的位置,並設定 src 屬性)

<script type="text/javascript">
	function init() {
        //書寫輪播圖片顯示的定時操作
        setInterval("changeImage()",3000);
	}
	//書寫函式
	var i = 0;
	function changeImage() {
		i++;
		//獲取圖片位置並設定src屬性值
		document.getElementById("images").src="../img/"+i+".jpg";
		if(i==3){
			i=0;
		}
	}
</script>
<body onload="init()">
<!-- 輪播圖 -->
		<div id="lunbo">
			<img alt="載入中" src="../img/1.jpg" width="100%" id="images">
		</div>
</body>

 

二、js廣告圖片定時彈出

第一步:在頁面指定位置隱藏一個廣告圖片(使用 display 屬性的 none 值)
第二步:確定事件(onload)併為其繫結一個函式
第三步:書寫這個函式(設定一個顯示圖片的定時操作)
第四步: 書寫定時器中的函式(獲取廣告圖片的位置並設定屬性style的display值block)
第五步:清除顯示圖片的定時操作()
第六步:書寫隱藏圖片的定時操作
第七步:書寫定時器中的函式(獲取廣告圖片的位置並設定屬性 style 的 display 值 none)
第八步:清除隱藏圖片的定時操作()

html

<body onload="init()">
	    <img id="imgAd" alt="" src="../img/f001a62f-a49d-4a4d-b56f-2b6908a0002c_g.jpg" style="display: none">

js

function init() {
        //設定顯示廣告圖片的定時操作
        time = setInterval("showAd()", 3000);
        
	}
	//書寫函式
	function showAd() {
		//獲取圖片廣告位置
		var adEle = document.getElementById("imgAd");
		//修改圖片廣告屬性讓其顯示
		adEle.style.display = "block";
		//清除顯示圖片的定時操作
		clearInterval(time);
		//設定隱藏圖片的定時操作
		time =  setInterval("hiddenAd()", 3000);
	}
	function hiddenAd() {
		////設定隱藏圖片
		document.getElementById("imgAd").style.display = "none";
		clearInterval(time);
	}

三、JQuery實現首頁輪播和廣告圖片定時彈出

<script type="text/javascript" src="../js/jquery-1.8.3.js"></script>
<script type="text/javascript">
	$(function() {
		time = setInterval("showAd()", 3000);
		setInterval("changeImage()", 3000);
	});
	var i = 0;
	function changeImage() {
		i++;
		//獲取圖片位置並設定src屬性值
		$("#images").attr("src","../img/" + i + ".jpg");
		if (i == 3) {
			i = 0;
		}
	}
	function showAd(){
		//獲取圖片廣告位置,修改圖片廣告屬性讓其顯示
		$("#imgAd").show();
		//清除顯示圖片的定時操作
		clearInterval(time);
		//設定隱藏圖片的定時操作
		time = setInterval("hiddenAd()", 3000);
	}
	function hiddenAd() {
		//設定隱藏圖片
		$("#imgAd").hide();
		clearInterval(time);
	}
</script>