js仿百度有啊通欄展示效果實作程式碼_javascript技巧
效果圖如下:
頁面代碼:
>
body,div,dl,dt,dd ,ul,li,h3{margin:0;padding:0;}
body{color:#333;font:12px/1.5 arial;}
li {list-style:none;}
a :link,a:visited,a:active{color:#333;text-decoration:none;}
a:hover{color:#F30;}
img{border:none;}
# box{width:740px;margin:10px auto;}
#container{position:relative;height:232px;background:#FCFCFC;}
#container .項目{位置:絕對;頂部:0;左:: 0;寬度:492px;高度:230px;溢出:隱藏;背景:#FAFAFA;邊框:1px實體#ddd;z-index:1;不透明度:1;}
#container .item .pic{float: left;width:210px;height:200px;display:inline;margin:15px;}
#container .item .pic img{width:210px;height:200px;vertical -align:top;#s .item .txt{float:left;width:250px;margin-top:12px;}
#container .item .txt dt{font-size:14px;font-重量:700;}
#container . item .txt .info{顏色:#999;}
#container .item .txt dd{高度:24px;行高:24px;}
#container .item .txt dd span{float:left;
#container .item .txt .star{position:relative;float:left;height:12px;width:69px;margin:6px 0 0 5px;}
#container .item .starstar . position:absolute;top:0;left:0;height:12px;width:69px;z-index:2;background:url(http://js.fgm. cc/learn/lesson10/img/youa/star. png) 重複x 滾動左上透明;}
#container .item .txt .star .star_grey{background:url(http://js.fgm.cc /learn/lesson10/img/youa/star.png) 重複x 向左捲動-15px 透明;高度:12px;寬度:69px;}
#container .item .txt .pink,#container .item .txt .藍色,#container .item .txt .green{顏色: #FFF;font-weight:700;margin-right:2px;背景:#F66B5B;padding:0 5px;}
#container .item .txt .blue {背景:#96BAE7;}
#container . item .txt .green{背景:#9CDBC3;}
#container .item .txt .comment{寬度:232px;高度:99px;邊距頂部:10px ;背景:#FFF;邊框:1px 實心#EAEAEA; }
#container .item .txt .comment h3{字體大小:12px;字體粗細:400;高度:24px;行高:24px;邊框-bottom:1pxsolid #E9E9E9;padding:0 10pxx; #container .item .txt .comment .comment_list{寬度:220px;高度:60px;溢出:隱藏;邊距:8px 0 0 10px;}
#container .item .txt .comment .comment_list ul{width: ;}
#container .item .txt .comment .comment_list ul li{height:20px;line-height:20px;white-space:nowrap; }
#container .item .txt .comment .comliment_list ul . b{color:#999;font-weight:400;}
#control{height:37px;text-align:center;background:url( http://js.fgm.cc/learn/lesson10/img/ youa/bg.png) no-repeat;}
#control span{width:8px;height:8px;font-size:0;line-高度:0;遊標:指標;顯示:內聯塊;背景顏色:#FEFEFE;邊框:1px實體#BCC1C5;邊距:13px 2px 2px;}
#control span.active{背景顏色:#848484 ;邊框:1px實線#6E6E6E;}
;
function Youa (obj)
{
this.obj = $(obj);
this.container = $("容器" );
this.control = $("control");
this.items = $$$("item", this.container);
this.iCenter = 2;
this. aSort = [];
this.timer = null;
this.oData = [
{left:0, zIndex:2, opacity:30},
{left:40, zIndex:3 , opacity:60},
{left:124, zIndex:4,不透明度:100},
{左:208,zIndex:3,不透明度:60},
{左:246, zIndex:2,不透明度:30},
{左:40 , zIndex:0, 不透明度:0}
];
this.__create__()
};
Youa. prototype.__create__ = function ()
{
var that = this;
var oSpan = null;
var i = 0;
for (i = 0; i {
that.items[i].number = i;
that.aSort[i] = that.items[i];
oSpan = document.createElement("span ");
oSpan.number = i;
that.control.appendChild(oSpan)
}
for (i = 0; i that.aSpan = $$("span", that.control);
that.control.onmouseover = function (ev)
{
var oEv = ev ||事件;
var oTarget = oEv.target || oEv.srcElement;
if (oTarget.tagName.toUpperCase() == "SPAN")
{
that.aSort.sort( function (a, b) {return a.number - b.number});
if (oTarget.number {
for (i = 0; i that.__set__();
回傳false
}
else if (oTarget.number > that.iCenter)
{
for (i = 0; i
回傳false
}
else
{
that.__set__()
}
}
}
this.__set__();
this.__switch__();
這個.__autoPlay__()
};
Youa.prototype.__set__ = function ()
{
var i = 0;
for (i = 0; i < this.aSort.length; i++) this.container.appendChild(this.aSort[i]);
for (i = 0; i < this.aSpan.length; i++) this.aSpan[i].className = "";
this.aSpan[this.aSort[this.iCenter].number].className = "active";
for (i = 0; i < this.aSort.length; i++)
{
this.aSort[i].index = i;
if (i < 5)
{
new Animate(this.aSort[i], this.oData[i]);
}
else
{
new Animate(this.aSort[i], this.oData[this.oData.length - 1])
}
}
};
Youa.prototype.__switch__ = function ()
{
var i = 0;
var that = this;
this.container.onclick = function (ev)
{
var oEv = ev || event;
var oTarget = oEv.target || oEv.srcElement;
var index = findItem(oTarget);
if (index < that.iCenter)
{
for (i = 0; i < that.iCenter - index; i++) that.aSort.unshift(that.aSort.pop());
that.__set__();
return false
}
else if (index > that.iCenter)
{
for (i = 0; i < index - that.iCenter; i++) that.aSort.push(that.aSort.shift());
that.__set__();
return false
}
function findItem (element)
{
return element.className == "item" ? element.index : arguments.callee(element.parentNode)
}
};
};
Youa.prototype.__autoPlay__ = function ()
{
var that = this;
that.timer = setInterval(function ()
{
that.aSort[3].click()
}, 3000);
that.obj.onmouseover = function ()
{
clearInterval(that.timer)
};
that.obj.onmouseout = function ()
{
that.timer = setInterval(function ()
{
that.aSort[3].click()
}, 3000)
}
};
function $ (id)
{
return typeof id === "string" ? document.getElementById(id) : id
};
function $$ (tagName, oParent)
{
return (oParent || document).getElementsByTagName(tagName)
};
function $$$ (className, element, tagName)
{
var i = 0;
var aClass = [];
var reClass = new RegExp("(^|//s)" + className + "(//s|$)");
var aElement = $$(tagName || "*", element || document);
for (i = 0; i < aElement.length; i++) reClass.test(aElement[i].className) && aClass.push(aElement[i]);
return aClass
};
function css (element, attr, value)
{
if (arguments.length == 2)
{
if (typeof arguments[1] === "string")
{
return element.currentStyle ? element.currentStyle[attr] : getComputedStyle(element, null)[attr]
}
else
{
for (var property in attr)
{
property == "opacity" ?
(element.style.filter = "alpha(opacity=" + attr[property] + ")", element.style.opacity = attr[property] / 100) :
element.style[property] = attr[property]
}
}
}
else if (arguments.length == 3)
{
switch (attr)
{
case "width":
case "height":
case "top":
case "left":
case "right":
case "bottom":
element.style[attr] = value + "px";
break;
case "opacity" :
element.style.filter = "alpha(opacity=" + value + ")";
element.style.opacity = value / 100;
break;
default :
element.style[attr] = value;
break
}
}
return element
};
function Animate (element, options, fnCallBack)
{
this.obj = $(element);
this.options = options;
this.__onEnd__ = fnCallBack;
this.__startMove__()
};
Animate.prototype.__startMove__ = function ()
{
var that = this;
clearInterval(that.obj.timer);
that.obj.timer = setInterval(function ()
{
that.__doMove__()
}, 30);
};
Animate.prototype.__doMove__ = function ()
{
var complete = true;
var property = null;
for (property in this.options)
{
var iCur = parseFloat(css(this.obj, property));
property == "opacity" && (iCur = parseInt(iCur.toFixed(2) * 100));
var iSpeed = (this.options[property] - iCur) / 5;
iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);
this.options[property] == iCur || (complete = false, css(this.obj, property, iSpeed + iCur))
}
complete && (clearInterval(this.obj.timer), this.__onEnd__ && this.__onEnd__.apply(this.obj))
};
window.onload = function ()
{
new Youa("box")
};
- 北京「七田阳光」全脑教育培训中心
- 点亮孩子智慧人生
- 总体评价:
- 用户印象:亲切耐心干净
用户评价
- Jcenter:如此诚恳的教育机构 ...
- citaslin:孩子的进步很大
- 甲鱼爱媛媛:七田阳光很注重品质,...
- 慕纱莹雪婚纱礼服馆
- 物超所值的性价比,尽在慕纱莹雪!
- 总体评价:
- 用户印象:精致做工好专业
用户评价
- 小企鹅快跑:这个周末去取了我定的...
- 月逢明时:这家婚纱店的婚纱做工...
- 日历本丢了:上周末去取了婚纱,婚...
- 北京金三优装饰有限责任公司
- 一站式服务让你省时、省力、省钱、省心
- 总体评价:
- 用户印象:口碑好规模很大讲信誉
用户评价
- 紫婧之梦:这家店不错哦!
- gotometop:装修工都还挺朴实的,...
- libangcheng1:这家公司还可以,去年...
- 鸿喜族休闲俱乐部—潘家园店
- 专注人类健康,打造财富传奇!
- 总体评价:
- 用户印象:真好专业手法好
用户评价
- 永封de铁盒:环境挺不错,灯光控制...
- 老冯爱国:不错的地方,是个很有...
- 白云寺方丈:我不会打台球,但朋友...
- 北京心拓城拓展培训
- 客户第一 执行有力 激情勤奋 简单团结
- 总体评价:
- 使用者印象:專業安全積極
使用者評價
- janice19891:很負責任~
- 旺達是條魚:朋友參加過他們的拓展...
- bjftxiaoniu:吼吼,在這裡看到他們...
- 韓醫師專業祛痘連鎖機構北京直營店
- 我們只祛痘所以更專業
-
整體評估:
- 使用者印象:效果好細心專業
使用者評價
- 天涯hehaijiao:這家店很好,顧客很多...
- 愛神馬geili:我治療了兩天感覺的好...
- 天上的語言:這幾天已經看到明顯效. ..
- 羅曼卡婚禮攝影
- 口碑好性價比高無額外消費
-
整體評價:
使用者印象:口碑好很喜歡完美
使用者評價
- 明確指出i:拍的很不錯,老媽都誇...
- 愛就一直走吧:他們家服務態度好,衣...
- 愛過你me:最後照片拍出來後朋友. ..

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

用户评价