JS實現(xiàn)的文字與圖片定時切換效果代碼
本文實例講述了JS實現(xiàn)的文字與圖片定時切換效果代碼。分享給大家供大家參考。具體如下:
這是近來門戶們都喜歡用的特效,左側是一個大圖片,右側是對應文字,鼠標移動時,對應行的文字會變化,圖片也相應的切換,如果沒有鼠標動作時,它會自己播放,播放時間可調(diào)整,個人感覺挺不錯的導航效果。
運行效果截圖如下:

在線演示地址如下:
http://demo.jb51.net/js/2015/js-txt-pic-time-cha-tab-codes/
具體代碼如下:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>文字與圖片切換</title>
<style>
*{margin:0;padding:0;border:0;list-style:none}
.focusPic{width:500px; margin:0 auto; clear:both; text-align:center; border:1px solid #ccc;}
.focusPic .focusTitle{width:240px;float:right; font-size:14px; text-align:left;}
.focusPic .focusTitle li{height:28px; line-height:28px; cursor:pointer; font-size:12px; padding-left:10px; }
.focusPic .focusTitle li a ,.focusPic .focusTitle li a:visited { color:#000;}
.focusPic .focusTitle li a:hover {color:#bc2931;}
.focusPic .focusTitle .current a ,.focusPic .focusTitle .current a:visited { color:#bc2931;}
.focusPic .focusTitle .current a:hover {color:#bc2931;}
.focusPic #focusMenu li.current{background:#efefef;font-weight:bold;color:#bc2931;}
.focusPic #focusLeft{width:250px;overflow:hidden; float:left;background:#efefef;font-size:14px;line-height:100px;font-weight:bold;height:168px;}
.focusPic #focusLeft li{display:none;}
.focusPic #focusLeft li.current{display:block;}
</style>
</head>
<body>
<div class="focusPic">
<ul id="focusLeft">
<li class="current">VB在線出題考試系統(tǒng)</li>
<li>jQuery 仿iGoogle 主頁模塊拖動</li>
<li>jQuery UI 官方實例集</li>
<li>VB在線出題考試系統(tǒng)</li>
<li>小妖ASP投票調(diào)查系統(tǒng) v4.0</li>
<li>jQuery 帶動畫的日期選擇插件</li>
</ul>
<div class="focusTitle">
<ul id="focusMenu">
<li class="current"><a href="#">VB在線出題考試系統(tǒng)</a></li>
<li><a href="#" target="_blank">jQuery 仿iGoogle 主頁模塊拖動</a></li>
<li><a href="#" target="_blank">jQuery UI 官方實例集</a></li>
<li><a href="#" target="_blank">VB在線出題考試系統(tǒng)(MSSQL)</a></li>
<li><a href="#" target="_blank">小妖ASP投票調(diào)查系統(tǒng) v4.0</a></li>
<li><a href="#" target="_blank">jQuery 帶動畫的日期選擇插件</a></li>
</ul>
</div>
<div class="clear"></div>
</div>
<script language="javascript" type="text/javascript">
//<![CDATA[
var $ = function(id) {
return document.getElementById(id);
};
Function.prototype.bind = function() {
if (arguments.length < 2 && arguments[0] == null) {
return this;
}
var __method = this, args = $A(arguments), object = args.shift();
return function() {
return __method.apply(object, args.concat($A(arguments)));
};
};
var isArray = function(testVar) {
return Array == testVar.constructor ? 1 : String != testVar.constructor && null != testVar.length && !testVar.alert && !testVar.nodeType ? 2 : 0;
};
var $A = function(variable) {
switch (isArray(variable)) {
case 1:
return variable;
case 2:
var arr = [], i = -1, len = variable.length;
while (++i < len) {
arr[i] = variable[i];
}
return arr;
default:
return [variable];
}
};
var addClass = function(elem, className) {
if ((" " + elem.className + " ").indexOf(" " + className + " ") == -1) {
if (elem.className == "") {
elem.className = className;
} else {
elem.className += (" " + className);
}
}
};
var removeClass = function(elem, className) {
var newClass = (" " + elem.className + " ").replace(" " + className + " ", " ");
elem.className = newClass.substr(1, newClass.length - 2);
};
var addEvent = function(elem, eventName, handler) {
if (elem.addEventListener) {
elem.addEventListener(eventName, handler, false);
} else if (elem.attachEvent) {
elem.attachEvent("on" + eventName, handler);
}
};
function Slide(menus, contents, css, eventName, interval) {
var curSeq = 0, length = contents.length, timerIds = [], isStopped;
if (menus && length != menus.length) {
throw new Error("the amount of menus and contents is not equal");
}
var hide = function(seq) {
removeClass(contents[seq], css);
if (menus) {
removeClass(menus[seq], css);
}
};
var show = function(seq) {
addClass(contents[seq], css);
if (menus) {
addClass(menus[seq], css);
}
curSeq = seq;
};
this.showNext = function() {
var next = curSeq + 1;
if (next >= length) {
next = 0;
}
var i = length;
while (--i >= 0) {
if (i != next) {
hide(i);
} else {
show(i);
}
}
};
this.change = function(event) {
if (this != menus[curSeq]) {
var i = length;
while (--i >= 0) {
if (menus[i] != this) {
hide(i);
} else {
show(i);
}
}
}
e = window.event || event;
e.cancelBubble = true;
};
this.play = function(speed) {
isStopped = false;
timerIds.push(setInterval(this.showNext.bind(this), speed));
};
this.pause = function() {
isStopped = true;
var i = length;
while (--i >= 0) {
clearInterval(timerIds[i]);
timerIds.splice(i, 1);
}
};
var i = length;
while (--i >= 0) {
addEvent(menus[i], eventName, this.change.bind(menus[i]));
if (interval > 0) {
addEvent(menus[i], "mouseover", this.pause);
addEvent(menus[i], "mouseout", this.play.bind(this, interval));
}
}
if (interval > 0) {
this.play(interval);
}
}
var focusImg = new Slide($("focusMenu").getElementsByTagName("li"), $("focusLeft").getElementsByTagName("li"), "current", "mouseover", 3000);
//]]>
</script>
</body>
希望本文所述對大家的JavaScript程序設計有所幫助。
- JavaScript實現(xiàn)定時隱藏與顯示圖片的方法
- js換圖片效果可進行定時操作
- javascript定時變換圖片實例代碼
- 最簡單的js圖片切換效果實現(xiàn)代碼
- 用html+css+js實現(xiàn)的一個簡單的圖片切換特效
- 純js無flash仿搜狐女人頻道FLASH圖片切換效果代碼
- js實現(xiàn)支持手機滑動切換的輪播圖片效果實例
- js實現(xiàn)網(wǎng)頁隨機切換背景圖片的方法
- JavaScript 圖片切換展示效果alibaba拓展版
- 非常漂亮的JS+CSS圖片幻燈切換特效
- js動態(tài)切換圖片的方法
- jQuery圖片切換插件jquery.cycle.js使用示例
- JS圖片定時翻滾效果實現(xiàn)方法
相關文章
微信小程序頁面跳轉功能之從列表的item項跳轉到下一個頁面的方法
這篇文章主要介紹了微信小程序頁面跳轉功能之從列表的item項跳轉到下一個頁面的方法,結合具體實例形式總結分析了微信小程序頁面跳轉及列表item項跳轉頁面的相關操作技巧,需要的朋友可以參考下2017-11-11
javascript為按鈕注冊回車事件(設置默認按鈕)的方法
這篇文章主要介紹了javascript為按鈕注冊回車事件(設置默認按鈕)的方法,可實現(xiàn)按下回車鍵觸發(fā)按鈕按下的效果,非常簡單實用,需要的朋友可以參考下2015-05-05
JavaScript實現(xiàn)的可變動態(tài)數(shù)字鍵盤控件方式實例代碼
本篇文章主要介紹了JavaScript實現(xiàn)的可變動態(tài)數(shù)字鍵盤控件方式實例代碼,具有一定的參考價值,有興趣的可以了了解一下2017-07-07
純js+css實現(xiàn)仿移動端淘寶網(wǎng)站的彈出詳情框功能
這篇文章主要介紹了純js+css實現(xiàn)仿移動端淘寶網(wǎng)站的彈出詳情框功能,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12

