本文目錄一覽:
- 1、Web前端工程師要掌握的JavaScript代碼片段(一)
- 2、在C#中用javascript彈出一個高200寬200的新窗口的代碼怎麼寫呀?
- 3、Web前端新手應該知道的JavaScript開發技巧有哪些?
- 4、js代碼的JS代碼在優化中:
- 5、求個簡單javascript代碼 謝謝,網站菜單功能
- 6、JS代碼是什麼
Web前端工程師要掌握的JavaScript代碼片段(一)
今天小編要跟大家分享的文章是關於Web前端工程師要掌握的JavaScript代碼片段(一)。正在從事web前端工作的小夥伴們來和小編一起看一看吧,希望本篇文章能夠對正在從事web前端工作的小夥伴們有所幫助。
1、Anagramsofstring(帶有重複項)
使用遞歸。對於給定字元串中的每個字母,為字母創建字謎。使用map()將字母與每部分字謎組合,然後使用reduce()將所有字謎組合到一個數組中,最基本情況是字元串長度等於2或1。
constanagrams=str={
if(str.length[str];
returnstr.split(”).reduce((acc,letter,i)=
acc.concat(anagrams(str.slice(0,i)+str.slice(i+1)).map(val=
letter+val)),[]);
};
//anagrams(‘abc’)-[‘abc’,’acb’,’bac’,’bca’,’cab’,’cba’]
2、數組平均數
使用reduce()將每個值添加到累加器,初始值為0,總和除以數組長度。
constaverage=arr=arr.reduce((acc,val)=acc+val,0)/
arr.length;
//average([1,2,3])-2
3、大寫每個單詞的首字母
使用replace()匹配每個單詞的第一個字元,並使用toUpperCase()來將其大寫。
constcapitalizeEveryWord=str=str.replace(/\b[a-z]/g,char=
char.toUpperCase());
//capitalizeEveryWord(‘helloworld!’)-‘HelloWorld!’
4、首字母大寫
使用slice(0,1)和toUpperCase()大寫第一個字母,slice(1)獲取字元串的其餘部分。省略lowerRest參數以保持字元串的其餘部分不變,或將其設置為true以轉換為小寫。(注意:這和上一個示例不是同一件事情)
constcapitalize=(str,lowerRest=false)=
str.slice(0,1).toUpperCase()+(lowerRest?str.slice(1).toLowerCase():
str.slice(1));
//capitalize(‘myName’,true)-‘Myname’
5、檢查迴文
將字元串轉換為toLowerCase(),並使用replace()從中刪除非字母的字元。然後,將其轉換為tolowerCase(),將(”)拆分為單獨字元,reverse(),join(”),與原始的非反轉字元串進行比較,然後將其轉換為tolowerCase()。
constpalindrome=str={
consts=str.toLowerCase().replace(/[\W_]/g,”);
returns===s.split(”).reverse().join(”);
}
//palindrome(‘tacocat’)-true
6、計數數組中值的出現次數
每次遇到數組中的特定值時,使用reduce()來遞增計數器。
constcountOccurrences=(arr,value)=arr.reduce((a,v)=v===
value?a+1:a+0,0);
//countOccurrences([1,1,2,1,2,3],1)-3
7、當前URL
使用window.location.href來獲取當前URL。
constcurrentUrl=_=window.location.href;
//currentUrl()-”
8、Curry
使用遞歸。如果提供的參數(args)數量足夠,則調用傳遞函數f,否則返回一個curried函數f。
constcurry=(fn,arity=fn.length,…args)=
arity
?fn(…args)
:curry.bind(null,fn,arity,…args);
//curry(Math.pow)(2)(10)-1024
//curry(Math.min,3)(10)(50)(2)-2
9、Deepflattenarray
使用遞歸,使用reduce()來獲取所有不是數組的元素,flatten每個元素都是數組。
constdeepFlatten=arr=
arr.reduce((a,v)=a.concat(Array.isArray(v)?deepFlatten(v):v),
[]);
//deepFlatten([1,[2],[[3],4],5])-[1,2,3,4,5]
10、數組之間的區別
從b創建一個Set,然後在a上使用Array.filter(),只保留b中不包含的值。
constdifference=(a,b)={consts=newSet(b);returna.filter(x
=!s.has(x));};
//difference([1,2,3],[1,2])-[3]
11、兩點之間的距離
使用Math.hypot()計算兩點之間的歐幾里德距離。
constdistance=(x0,y0,x1,y1)=Math.hypot(x1-x0,y1-y0);
//distance(1,1,2,3)-2.23606797749979
12、可以按數字整除
使用模運算符(%)來檢查餘數是否等於0。
constisDivisible=(dividend,divisor)=dividend%divisor===0;
//isDivisible(6,3)-true
13、轉義正則表達式
使用replace()來轉義特殊字元。
constescapeRegExp=str=str.replace(/[.*+?^${}()|[\]\\]/g,
‘\\$’);
//escapeRegExp(‘(test)’)-\\(test\\)
14、偶數或奇數
使用Math.abs()將邏輯擴展為負數,使用模(%)運算符進行檢查。如果數字是偶數,則返回true;如果數字是奇數,則返回false。
constisEven=num=num%2===0;
//isEven(3)-false
15、階乘
使用遞歸。如果n小於或等於1,則返回1。否則返回n和n-1的階乘的乘積。
constfactorial=n=n
//factorial(6)-720
16、斐波那契數組生成器
創建一個特定長度的空數組,初始化前兩個值(0和1)。使用Array.reduce()向數組中添加值,後面的一個數等於前面兩個數相加之和(前兩個除外)。
constfibonacci=n=
Array(n).fill(0).reduce((acc,val,i)=acc.concat(i1?acc[i-
1]+acc[i-2]:i),[]);
//fibonacci(5)-[0,1,1,2,3]
17、過濾數組中的非唯一值
將Array.filter()用於僅包含唯一值的數組。
constfilterNonUnique=arr=arr.filter(i=arr.indexOf(i)===
arr.lastIndexOf(i));
//filterNonUnique([1,2,2,3,4,4,5])-[1,3,5]
18、Flatten數組
使用reduce()來獲取數組中的所有元素,並使用concat()來使它們flatten。
constflatten=arr=arr.reduce((a,v)=a.concat(v),[]);
//flatten([1,[2],3,4])-[1,2,3,4]
19、從數組中獲取最大值
使用Math.max()與spread運算符(…)結合得到數組中的最大值。
constarrayMax=arr=Math.max(…arr);
//arrayMax([10,1,5])-10
20、從數組中獲取最小值
使用Math.min()與spread運算符(…)結合得到數組中的最小值。
constarrayMin=arr=Math.min(…arr);
//arrayMin([10,1,5])-1
21、獲取滾動位置
如果已定義,請使用pageXOffset和pageYOffset,否則使用scrollLeft和scrollTop,可以省略el來使用window的默認值。
constgetScrollPos=(el=window)=
({x:(el.pageXOffset!==undefined)?el.pageXOffset:el.scrollLeft,
y:(el.pageYOffset!==undefined)?el.pageYOffset:el.scrollTop});
//getScrollPos()-{x:0,y:200}
22、最大公約數(GCD)
使用遞歸。基本情況是當y等於0時。在這種情況下,返回x。否則,返回y的GCD和x/y的其餘部分。
constgcd=(x,y)=!y?x:gcd(y,x%y);
//gcd(8,36)-4
23、Headoflist
返回ARR[0]
consthead=arr=arr[0];
//head([1,2,3])-1
24、list初始化
返回arr.slice(0,-1)
constinitial=arr=arr.slice(0,-1);
//initial([1,2,3])-[1,2]
以上就是小編今天為大家分享的關於Web前端工程師要掌握的JavaScript代碼片段(一)的文章,希望本篇文章能夠對正在從事web前端工作的小夥伴們有所幫助。想要了解更多web前端相關知識和想要了解後面的代碼片段的小夥伴,記得關注北大青鳥web培訓官網。
在C#中用javascript彈出一個高200寬200的新窗口的代碼怎麼寫呀?
a style=”border:none;background-color: AliceBlue;text-decoration: underline ;” href=”要代開的頁面.htm” onclick=”javascript:window.open(this.href,’newwindow’,’height=200,width=200,top=114,left=490,toolbar=no,menubar=no,scrollbars=no,resizable=yes,location=no,status=no’);return false;” target=”_blank打開新窗口/a
你可以在頁面上添加一個伺服器端的Label控制項,把上面的內容賦給Label控制項的Text屬性,注意”和’前需要有轉義符,也可以直接輸出字元串或是用其他的一些伺服器端控制項實現
Web前端新手應該知道的JavaScript開發技巧有哪些?
今天小編要跟大家分享的文章是關於Web前端新手應該知道的JavaScript開發技巧有哪些?熟悉Web前端的小夥伴都知道,Javascript
的很多擴展的特性是的它變得更加的犀利,同時也給予程序員機會創建更漂亮並且更讓用戶喜歡的網站。
儘管很多的開發人員都樂於頌揚javascript,但是仍舊有人看到它的陰暗面。
使用很多javascript代碼的Web頁面會載入很慢,過多的使用javascript使得網頁醜陋和拖沓。很快如何有效地使用
javascript成為一個非常火熱的話題。
今天小編就為Web前端新手準備了這篇JavaScript開發技巧,希望能夠對你有所幫助,下面我們一起來看一看吧!
1、儘可能的保持代碼簡潔
可能大家都聽到過了N遍這個代碼簡潔問題了。作為一個開發人員你可能在你的代碼開發過程中使用了很多次,但千萬不要在js開發中忘記這點。
§盡量在開發模式中添加註釋和空格,這樣保持代碼的可讀性
§在發布到產品環境前請將空格和注釋都刪除,並且盡量縮寫變數和方法名
§使用第三方工具幫助你實現壓縮javascript。
2、思考後再修改prototypes
添加新的屬性到對象prototype中是導致腳本出錯的常見原因。
yourObject.prototype.anotherFunction=’Hello’;
yourObject.prototype.anotherMethod=function(){…}
在上面代碼中,所有的變數都會被影響,因為他們都繼承於yourObject。這樣的使用會導致意想不到的行為。所以建議在使用完後刪除類似的修改。
yourObject.prototype.anotherFunction=’Hello’;
yourObject.prototype.anotherMethod=function(){};
test.anotherMethod();
deleteyourObject.prototype.anotherFunction=’Hello’;
deleteyourObject.prototype.anotherMethod=function(){};
3、DebugJavascript代碼
即使最好的開發人員都會犯錯。為了最大化的減少類似錯誤,請在你的debugger中運行你的代碼,確認你沒有遇到任何細微的錯誤。
4、避免Eval
你的JS在沒有eval方法的時候也可以很好的工作。eval允許訪問javascript編譯器。如果一個字元串作為參數傳遞到
eval,那麼它的結果可以被執行。
這會很大的降低代碼的性能。盡量避免在產品環境中使用eval。
5、最小化DOM訪問
DOM是最複雜的API,會使得代碼執行過程變慢。有時候Web頁面可能沒有載入或者載入不完整。最好避免DOM。
6、在使用javascript類庫之前先學習javascript
互聯網充斥著很多的javascript類庫,很多程序員都往往使用js類庫而不理解負面影響。強烈建議你在使用第三方類庫之前學習基本的JS
代碼,否則,你就準備著倒霉吧。
7、不要用「SetTimeOut」和「Setinterval」方法來作為「Eval」的備選
setTimeOut(“document.getID(‘value’)”,3000);
在以上代碼中document.getID(『value』)在setTimeOut方法中被作為字元串來處理。這類似於eval
方法,在每個代碼執行中來執行一個字元串,因此會降低性能,因此,建議在這些方法中傳遞一個方法。
setTimeOut(yourFunction,3000);
8、[]比newArray();更好
一個常犯的錯誤在於使用當需要數組的時候使用一個對象或者該使用對象的時候使用一個數組。但是使用原則很簡單:
「當屬性名稱是小的連續整數,你應該使用數組。否則,使用一個對象」_DouglasCrockford,JavaScript:Good
Parts的作者.
建議:
vara=[‘1A’,’2B’];
避免:
vara=newArray();
a[0]=”1A”;
a[1]=”2B”;
9、盡量不要多次使用var
在初始每一個變數的時候,程序員都習慣使用var關鍵字。相反,建議你使用逗號來避免多餘的關鍵字,並且減少代碼體積。如下:
varvariableOne=’string1′,
variableTwo=’string2′,
variableThree=’string3′;
10、不要忽略分號「;」
這往往是大家花費數個小時進行debug的原因之一。
我很確信你肯定也在其它的文章中閱讀過以上相關的內容,但是大家可能往往都忽略了很多基本的規則。你是不是也曾經忽略過分號。是不是也遇到過eval
關鍵字問題導致性能問題?
以上就是小編今天為大家分享的關於Web前端新手應該知道的JavaScript
開發技巧有哪些?的文章,希望本篇文章能夠對剛剛接觸Web前端行業的新手們有所幫助。想要了解更多Web前端知識記得關注北大青鳥Web前端培訓官網!
*聲明:內容與圖片均來源於網路(部分內容有修改),版權歸原作者所有,如來源信息有誤或侵犯權益,請聯繫我們刪除或授權事宜。
js代碼的JS代碼在優化中:
一、 讓代碼簡潔:一些簡略的表達方式也會產生很好的優化
eg:x=x+1;在不影響功能的情況下可以簡寫為x++;
二、 變數名方法名盡量在不影響語意的情況下簡單。(可以選擇首字母命名)
eg:定義數組的長度可以取名為:ArrLen而不需要取為ArrayLength。
三、 關於JS的循環,循環是一種常用的流程式控制制。
JS提供了三種循環:for(;;)、while()、for(in)。在這三種循環中for(in)的效率最差,因為它需要查詢Hash鍵,因此應盡量少用for(in)循環,for(;;)、while()循環的性能基本持平。當然,推薦使用for循環,如果循環變數遞增或遞減,不要單獨對循環變數賦值,而應該使用嵌套的++或–運算符。
四、 如果需要遍曆數組,應該先緩存數組長度,將數組長度放入局部變數中,避免多次查詢數組長度。
因為我們常常要根據字元串、數組的長度進行循環,而通常這個長度是不變的,比如每次查詢a.length,就要額外進行一個操作,而預先把var len=a.length,則就少了一次查詢。
五、 盡量選用局部變數而不是全局變數。
局部變數的訪問速度要比全局變數的訪問速度更快,因為全局變數其實是window對象的成員,而局部變數是放在函數的棧里的。
六、 盡量少使用eval。
每次使用eval需要消耗大量時間,這時候使用JS所支持的閉包可以實現函數模板。
七、 減少對象查找
因為JavaScript的解釋性,所以a.b.c.d.e,需要進行至少4次查詢操作,先檢查a再檢查a中的b,再檢查b中的c,如此往下。所以如果這樣的表達式重複出現,只要可能,應該盡量少出現這樣的表達式,可以利用局部變數,把它放入一個臨時的地方進行查詢。
八、 字元串連接。
如果是追加字元串,最好使用s+=anotherStr操作,而不是要使用s=s+anotherStr。
如果要連接多個字元串,應該少使用+=,如s+=a;s+=b;s+=c;應該寫成s+=a + b + c;
而如果是收集字元串,比如多次對同一個字元串進行+=操作的話,最好使用一個緩存。怎麼用呢?使用JavaScript數組來收集,最後使用join方法連接起來,如下
var buf = new Array();for(var i = 0; i 100; i++){ buf.push(i.toString());}var all = buf.join(“”);
九、 類型轉換
1. 把數字轉換成字元串,應用”” + 1,雖然看起來比較丑一點,但事實上這個效率是最高的,性能上來說:(“” +) String() .toString() new String()
盡量使用編譯時就能使用的內部操作要比運行時使用的用戶操作要快。
String()屬於內部函數,所以速度很快,而.toString()要查詢原型中的函數,所以速度遜色一些,new String()用於返回一個精確的副本。
2. 浮點數轉換成整型,這個更容易出錯,很多人喜歡使用parseInt(),其實parseInt()是用於將字元串轉換成數字,而不是浮點數和整型之間的轉換,我們應該使用Math.floor()或者Math.round()。Math是內部對象,所以Math.floor()其實並沒有多少查詢方法和調用的時間,速度是最快的。
3. 對於自定義的對象,如果定義了toString()方法來進行類型轉換的話,推薦顯式調用toString(),因為內部的操作在嘗試所有可能性之後,會嘗試對象的toString()方法嘗試能否轉化為String,所以直接調用這個方法效率會更高
十、 盡量作用JSON格式來創建對象,而不是var obj=new Object()方法。
因為前者是直接複製,而後者需要調用構造器,因而前者的性能更好。
十一、 當需要使用數組時,也盡量使用JSON格式的語法,
使用JSON格式的語法即直接使用如下語法定義數組:[parrm,param,param…],而不是採用new Array(parrm,param,param…)這種語法。因為使用JSON格式的語法是引擎直接解釋的。而後者則需要調用Array的構造器。
十二、 對字元串進行循環操作,例如替換、查找,就使用正則表達式。
因為JS的循環速度比較慢,而正則表達式的操作是用C寫成的API,性能比較好。
十三、 插入HTML
很多人喜歡在JavaScript中使用document.write來給頁面生成內容。事實上這樣的效率較低,如果需要直接插入HTML,可以找一個容器元素,比如指定一個div或者span,並設置他們的innerHTML來將自己的HTML代碼插入到頁面中。
十四、 對象查詢
使用[「」]查詢要比.items()更快
十五、 定時器
如果針對的是不斷運行的代碼,不應該使用setTimeout,而應該是用setInterval。setTimeout每次要重新設置一個定時器。
十六、 盡量減少DOM調用
在Web開發中,JavaScript的一個很重要的作用就是對DOM進行操作。可是對DOM的操作是非常昂貴的,因為這會導致瀏覽器執行迴流 (reflow)操作。我們應該儘可能的減少DOM操作。
求個簡單javascript代碼 謝謝,網站菜單功能
不用說自己菜不菜的,能有這個學習的精神已經很值得鼓勵了
呵呵,下面,我來給你介紹幾個網站常見的菜單
第一個:仿網易的滑動門導航菜單
html xmlns=””
head
meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ /
title仿網易的滑動門技術,用DIV+CSS技術實現/title
style type=”text/css”
!–
#header {
background-color: #F8F4EF;
height: 200px;
width: 400px;
margin: 0px;
padding: 0px;
border: 1px solid #ECE1D5;
font-family: “宋體”;
font-size: 12px;
}
#menu {
margin: 0px;
padding: 0px;
list-style-type: none;
}
#menu li {
display: block;
width: 100px;
text-align: center;
float: left;
margin: 0px;
padding-top: 0.2em;
padding-right: 0px;
padding-bottom: 0.2em;
padding-left: 0px;
cursor: hand;
}
.sec1 { background-color: #FFFFCC;}
.sec2 { background-color: #00CCFF;}
.block { display: block;}
.unblock { display: none;}
—
/style
/head
body
script language=javascript
function secBoard(n)
{
for(i=0;imenu.childNodes.length;i++)
menu.childNodes[i].className=”sec1″;
menu.childNodes[n].className=”sec2″;
for(i=0;imain.childNodes.length;i++)
main.childNodes[i].style.display=”none”;
main.childNodes[n].style.display=”block”;
}
/script
div id=”header”
ul id=”menu”
li onMouseOver=”secBoard(0)” class=”sec2″最新新聞/li
li onMouseOver=”secBoard(1)” class=”sec1″最新文章/li
li onMouseOver=”secBoard(2)” class=”sec1″最新日誌/li
li onMouseOver=”secBoard(3)” class=”sec1″論壇新帖/li
/ul
!–內容顯示區域–
ul id=”main”
li class=”block”第一個內容/li
li class=”unblock”第二個內容/li
li class=”unblock”第三個內容/li
li class=”unblock”第四個內容/li
/ul
!–內容顯示區域–
/div
/body
/html
這裡基本上是使用Css與Div的結合,在整個布局中已層為單位,實行滑動菜單的是一個javascript腳本函數,調用就可以了,看不懂不要緊,日漸積累才是重要
第二個:經典實用的觸髮型導航(這是滑鼠單擊事件控制)
html
head
meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″
title網頁特效代碼|JsCode.CN|—經典實用的觸髮型導航菜單/title
/head
body
STYLE type=text/css.sec1 {
BORDER-RIGHT: gray 1px solid; BORDER-TOP:
#ffffff 1px solid; BORDER-LEFT: #ffffff 1px
solid; CURSOR: hand; COLOR: #000000; BORDER-
BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR:
#eeeeee
}
.sec2 {
BORDER-RIGHT: gray 1px solid; BORDER-TOP:
#ffffff 1px solid; FONT-WEIGHT: bold; BORDER-
LEFT: #ffffff 1px solid; CURSOR: hand; COLOR:
#000000; BACKGROUND-COLOR: #d4d0c8
}
.main_tab {
BORDER-RIGHT: gray 1px solid; BORDER-
LEFT: #ffffff 1px solid; COLOR: #000000; BORDER-
BOTTOM: gray 1px solid; BACKGROUND-COLOR: #d4d0c8
}
/STYLE
!–JavaScript部分–
SCRIPT language=javascript
function secBoard(n)
{
for(i=0;isecTable.cells.length;i++)
secTable.cells
[i].className=”sec1″;
secTable.cells[n].className=”sec2″;
for(i=0;imainTable.tBodies.length;i++)
mainTable.tBodies
[i].style.display=”none”;
mainTable.tBodies
[n].style.display=”block”;
}
/SCRIPT
!–HTML部分–
TABLE id=secTable cellSpacing=0 cellPadding=0 width=549 border=0
TBODY
TR align=middle height=20
TD class=sec2 onclick=secBoard(0) width=”10%”關於TBODY標記/TD
TD class=sec1 onclick=secBoard(1) width=”10%”關於cells集合/TD
TD class=sec1 onclick=secBoard(2) width=”10%”關於tBodies集合/TD
TD class=sec1 onclick=secBoard(3) width=”10%”關於display屬性/TD/TR/TBODY/TABLE
TABLE class=main_tab id=mainTable height=240 cellSpacing=0 cellPadding=0 width=549 border=0!–關於TBODY標記–
TBODY style=”DISPLAY: block”
TR
TD vAlign=top align=middleBRBR
TABLE cellSpacing=0 cellPadding=0 width=490 border=0
TBODY
TR
TD指定行做為表體。
BR注釋:TBODY要素是塊要素,並且需要結束標
簽。BR 即使如果表格沒有顯式定義TBODY
要素,該要素也提供給所有表。BRBR
參考:《動態HTML參考和開發應用大全》(人民郵電出
版社
Microsoft Corporation著
北京華中興業科技發展有限公司
譯)
BRBR/TD/TR/TB
ODY/TABLE/TD/TR/T
BODY!–關於cells集合–
TBODY style=”DISPLAY:
none”
TR
TD vAlign=top
align=middleBRBR
TABLE cellSpacing=0
cellPadding=0 width=490 border=0
TBODY
TR
TD檢索錶行或者整個
表中所有單元格的集合。BR應用於TR、TABLE。
BRBR參考:《動態HTML參考和開發應
用大全》(人民郵電出版社
Microsoft Corporation著
北京華中興業科技發展有限公司
譯)
BRBR/TD/TR/TB
ODY/TABLE/TD/TR/T
BODY!–關於tBodies集合–
TBODY style=”DISPLAY:
none”
TR
TD vAlign=top
align=middleBRBR
TABLE cellSpacing=0
cellPadding=0 width=490 border=0
TBODY
TR
TD檢索表中所有TBODY
對象的集合。對象在該集合中按照HTML源順序排列。
BR應用於TABLE。BRBR參考:
《動態HTML參考和開發應用大全》(人民郵電出版社
Microsoft Corporation著
北京華中興業科技發展有限公司
譯)
BRBR/TD/TR/TB
ODY/TABLE/TD/TR/T
BODY!–關於display屬性–
TBODY style=”DISPLAY:
none”
TR
TD vAlign=top
align=middleBRBR
TABLE cellSpacing=0
cellPadding=0 width=490 border=0
TBODY
TR
TD設置或者檢索對象
是否被提供。BR可能的值為block、none、
inline、list-item、table-header-group、table-
footer-group。BR該特性可讀寫,塊要素默認
值為block,內聯要素默認值為inline;層疊樣式表
(CSS)屬性不可繼承。BRBR參考:《
動態HTML參考和開發應用大全》(人民郵電出版社
Microsoft Corporation著
北京華中興業科技發展有限公司譯)
BRBRA
href=”” target=_blank點擊此處
/A可參閱微軟A href=”” target=_blankMSDN在線/A上的解釋。
/TD/TR/TBODY/TABLE
;/TD/TR/TBODY/TABLEg
t;/body
/html
這裡跟上面不同的區別在與這是滑鼠移動和滑動的事件區別!
第三個:仿拍拍的切換效果菜單(裡面的圖片是我放上去的,所以會看不到圖片的,呵呵 繼續)
!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “”
html xmlns=”” lang=”zh-CN”
head
meta http-equiv=”Content-Language” content=”zh-cn” /
meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″ /
meta name=”robots” content=”all” /
title網頁特效|網頁特效代碼(JsHtml.cn)—仿拍拍paipai.com首頁產品圖片隨機輪顯切換效果/titlestyle
body {font-size:12px}
img {border:0px}
#sale{right:206px;top:0;width:260px;background:#fff}
#saleTitle{text-align:right;padding-top:5px;padding-right:5px;width:255px;height:20px;background:url(“images/saleTitle.gif”) no-repeat}
#saleList{margin-top:5px}
#saleList .saleTwo{height:108px;background:url(“images/salelineH.gif”) bottom repeat-x;}
#saleList a{display:block;height:108px;width:86px;text-align:center;float:left;overflow:hidden}
#saleList a.saleItem{background:url(“images/salelineV.gif”) right repeat-y;}
#saleList a img{margin:5px 0}
#saleList a:hover{background-color:#EBFFC5}
/style
script type=”text/javascript”
rnd.today=new Date();
rnd.seed=rnd.today.getTime();
function rnd(){
rnd.seed = (rnd.seed*9301+49297) % 233280;
return rnd.seed/(233280.0);
}
function rand(number){
return Math.ceil(rnd()*number)-1;
}
function nextSale(order){
if(order==”up”) saleNum–;
else saleNum++;
if(saleNum2) saleNum=0
else if(saleNum0) saleNum=2;
//alert(saleNum);
for(i=0;i3;i++)
document.getElementById(“saleList”+i).style.display=”none”;
document.getElementById(“saleList”+saleNum).style.display=””;
}
/script
/head
body
div id=”sale” class=”absolute overflow”
div id=”saleTitle” class=”absolute”
a href=”javascript:nextSale(‘up’)” title=”點擊到上一屏”
img src=”images/saleFore.gif” hspace=”4″ onmouseover=”this.src=’images/saleForeOver.gif'” onmouseout=”this.src=’images/saleFore.gif'” //aa href=”javascript:nextSale(‘down’)” title=”點擊到下一屏”img src=”images/saleNext.gif” onmouseover=”this.src=’images/saleNextOver.gif'” onmouseout=”this.src=’images/saleNext.gif'” //a/div
div class=”overflow” style=”height:330px” id=”saleList”
script type=”text/javascript”var saleNum=rand(3);/script
div id=”saleList0″ style=”display:none”
div class=”saleTwo”
a class=”saleItem” href=”” target=”_blank”
div
img alt=”聖誕浪漫飾品超級大促” src=”/jsimages/UploadFiles_3321/200804/20080423085515804.jpg” width=”65″ height=”65″ //div
div
聖誕浪漫飾品br /
超級大促/div
/a
a class=”saleItem” href=”” target=”_blank”
div
img alt=”攝像頭集結號給你新的感覺” src=”/jsimages/UploadFiles_3321/200804/20080423085516472.jpg” width=”65″ height=”65″ //div
div
攝像頭集結號br /
給你新的感覺/div
/aa href=”” target=”_blank”
div
img alt=”好感度提升韓版娃娃裝” src=”/jsimages/UploadFiles_3321/200804/20080423085516162.jpg” width=”65″ height=”65″ //div
div
好感度提升br /
韓版娃娃裝/div
/a/div
div class=”saleTwo”
a class=”saleItem” href=”” target=”_blank”
div
img alt=”復古牛仔外套特惠119元起” src=”/jsimages/UploadFiles_3321/200804/20080423085516293.jpg” width=”65″ height=”65″ //div
div
復古牛仔外套br /
特惠119元起/div
/a
a class=”saleItem” href=”” target=”_blank”
div
img alt=”聖誕拍拍特供運動服3折” src=”/jsimages/UploadFiles_3321/200804/20080423085516802.jpg” width=”65″ height=”65″ //div
div
聖誕拍拍特供br /
運動服3折/div
/aa href=”” target=”_blank”
div
img alt=”攝像頭集結號給你新的感覺” src=”/jsimages/UploadFiles_3321/200804/20080423085516472.jpg” width=”65″ height=”65″ //div
div
攝像頭集結號br /
給你新的感覺/div
/a/div
div
a class=”saleItem” href=”” target=”_blank”
div
img alt=”聖誕拍拍特供電腦周邊4折” src=”/jsimages/UploadFiles_3321/200804/20080423085516530.jpg” width=”65″ height=”65″ //div
div
聖誕拍拍特供br /
電腦周邊4折/div
/a
a class=”saleItem” href=”” target=”_blank”
div
img alt=”party扮靚甜美腮紅” src=”/jsimages/UploadFiles_3321/200804/20080423085516658.jpg” width=”65″ width=”65″ height=”65″ //div
div
party扮靚br /
甜美腮紅/div
/aa href=”” target=”_blank”
div
img alt=”好感度提升韓版娃娃裝” src=”/jsimages/UploadFiles_3321/200804/20080423085516162.jpg” width=”65″ height=”65″ //div
div
好感度提升br /
韓版娃娃裝/div
/a/div
/div
div id=”saleList1″ style=”display:none”
div class=”saleTwo”
a class=”saleItem” href=”” target=”_blank”
div
img alt=”新奇好玩便宜盡在網遊頻道” src=”/jsimages/UploadFiles_3321/200804/20080423085516612.jpg” width=”65″ height=”65″ //div
div
新奇好玩便宜br /
盡在網遊頻道/div
/a
a class=”saleItem” href=”” target=”_blank”
div
img alt=”展現高貴氣質騎士系馬靴” src=”/jsimages/UploadFiles_3321/200804/20080423085516202.jpg” width=”65″ height=”65″ //div
div
展現高貴氣質br /
騎士系馬靴/div
/aa href=”” target=”_blank”
div
img alt=”攝像頭集結號給你新的感覺” src=”/jsimages/UploadFiles_3321/200804/20080423085516472.jpg” width=”65″ height=”65″ //div
div
攝像頭集結號br /
給你新的感覺/div
/a/div
div class=”saleTwo”
a class=”saleItem” href=”” target=”_blank”
div
img alt=”永不過時條紋毛衣” src=”/jsimages/UploadFiles_3321/200804/20080423085516984.jpg” width=”65″ height=”65″ //div
div
永不過時br /
條紋毛衣/div
/a
a class=”saleItem” href=”” target=”_blank”
div
img alt=”聖誕拍拍特供運動鞋2折” src=”/jsimages/UploadFiles_3321/200804/20080423085516651.jpg” width=”65″ height=”65″ //div
div
聖誕拍拍特供br /
運動鞋2折/div
/aa href=”” target=”_blank”
div
img alt=”好感度提升韓版娃娃裝” src=”/jsimages/UploadFiles_3321/200804/20080423085516162.jpg” width=”65″ height=”65″ //div
div
好感度提升br /
韓版娃娃裝/div
/a/div
div
a class=”saleItem” href=”” target=”_blank”
div
img alt=”精簡唯美索愛K630″ src=”/jsimages/UploadFiles_3321/200804/20080423085516302.jpg” width=”65″ height=”65″ //div
div
精簡唯美br /
索愛K630/div
/a
a class=”saleItem” href=”” target=”_blank”
div
img alt=”原裝瑞士軍刀精選” src=”/jsimages/UploadFiles_3321/200804/20080423085516549.jpg” width=”65″ width=”65″ height=”65″ //div
div
原裝瑞士軍刀br /
精選/div
/aa href=”” target=”_blank”
div
img alt=”超薄機身索愛W880″ src=”/jsimages/UploadFiles_3321/200804/20080423085516711.jpg” width=”65″ height=”65″ //div
div
超薄機身br /
索愛W880/div
/a/div
/div
div id=”saleList2″ style=”display:none”
div class=”saleTwo”
a class=”saleItem” href=”” target=”_blank”
div
img alt=”各就各味秋冬飲食計劃” src=”/jsimages/UploadFiles_3321/200804/20080423085516704.jpgtype=3″ width=”65″ height=”65″ //div
div
各就各味br /
秋冬飲食計劃/div
/aa href=”” target=”_blank”
div
img alt=”好感度提升韓版娃娃裝” src=”/jsimages/UploadFiles_3321/200804/20080423085516162.jpg” width=”65″ height=”65″ //div
div
好感度提升br /
韓版娃娃裝/div
/a/div
div class=”saleTwo”
a class=”saleItem” href=”” target=”_blank”
div
img alt=”聖誕拍拍特供隨身視聽5折” src=”/jsimages/UploadFiles_3321/200804/20080423085516375.jpg” width=”65″ height=”65″ //div
div
聖誕拍拍特供br /
隨身視聽5折/div
/aa href=”” target=”_blank”
div
img alt=”超薄機身索愛W880″ src=”/jsimages/UploadFiles_3321/200804/20080423085516711.jpg” width=”65″ height=”65″ //div
div
超薄機身br /
索愛W880/div
/a/div
div
a class=”saleItem” href=”” target=”_blank”
div
img alt=”我愛我家家居大搶購” src=”/jsimages/UploadFiles_3321/200804/20080423085516954.jpg” width=”65″ height=”65″ //div
div
我愛我家br /
家居大搶購/div
/aa href=”” target=”_blank”
div
img alt=”超值彩妝套裝變身派對女王” src=”/jsimages/UploadFiles_3321/200804/20080423085516919.jpg” width=”65″ width=”65″ height=”65″ //div
div
超值彩妝套裝br /
變身派對女王/div
/a/div
/div
/div
/div
script type=”text/javascript”document.getElementById(“saleList”+saleNum).style.display=””;/script
p /p
p更多網頁特效代碼盡在 a href=””網頁特效代碼/a/p
/body
/html
這個仿拍拍基本上就是2層放圖片,但用起來的效果還是可以的,如果不喜歡我還有下面呢,慢慢學,總會看懂的 (最重要的還是Css哦)
這個主要就是讓層實現隱藏 我覺得這個在層使用方面還是好的
從總體上看,在實現層與層之間的交互,在其代碼 我覺得你有必要去認真看下 !
以上是我介紹額度菜單,雖然不是很強大,但是卻很使用,而且在J2EE中
菜單基本上是一個假象,都是用層與Css之間的特效做出來的!
學會了層的具體應用,我相信你也可以有自己特色的菜單的
那我祝你好運咯!!加油!!
JS代碼是什麼
Javascript是一種由Netscape的LiveScript發展而來的原型化繼承的面向對象的動態類型的區分大小寫的客戶端腳本語言,主要目的是為了解決伺服器端語言,比如Perl,遺留的速度問題,為客戶提供更流暢的瀏覽效果。當時服務端需要對數據進行驗證,由於網路速度相當緩慢,只有28.8kbps,驗證步驟浪費的時間太多。於是Netscape的瀏覽器Navigator加入了Javascript,提供了數據驗證的基本功能。
ActionScript 動作腳本是遵循 ECMAscript第四版 的 Adobe Flash Player 運行時環境的編程語言。它在 Flash 內容和應用程序中實現交互性、數據處理以及其他功能。 ActionScript是Flash的腳本語言,與JavaScript相似,ActionScript是一種編程語言,新出的AS3.0使用OOP(面對對象編程),增加更強的報錯能力,指定類型也更明確。
我是從「上海全鼎軟體學院」畢業的————————
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/232358.html