本文目錄一覽:
- 1、請大神幫忙 給解釋下一段JS代碼???
- 2、能幫我逐行翻譯一下這個JS代碼嗎,我還沒學過,但是要用這一段。
- 3、幫我翻譯一下下面這段JS代碼
- 4、js代碼翻譯
- 5、幫忙翻譯一段javascript代碼 50分 好了追加300分
- 6、有沒有人幫我翻譯一下這段JS代碼
請大神幫忙 給解釋下一段JS代碼???
/**
* SendCode Plugin
*/
//發送驗證碼插件開始
//匿名函數執行
!function () {
“use strict”;//要求嚴格語法
//聲明SendCode對象並初始化參數
function SendCode (element, options) {
this.$btn = $(element);//獲取按鈕元素
//合併多個參數 初始化參數(用於外部傳遞參數覆蓋默認參數)
this.options = $.extend({}, SendCode.DEFAULTS, options || {});
}
//控制項開放的參數默認值
SendCode.DEFAULTS = {
run: false, // 是否自動倒計時
secs: 60, // 倒計時時長(秒)
disClass: ”, // 禁用按鈕樣式
runStr: ‘{%s}秒後重新獲取’, // 倒計時顯示文本
resetStr: ‘重新獲取驗證碼’ // 倒計時結束後按鈕顯示文本
};
//全局計時器變數,清除用
SendCode.timer = null;
/**
* 開始倒計時
*/
SendCode.prototype.start = function () {
var _this = this,
options = _this.options,
secs = options.secs;
_this.$btn.html(_this.getStr(secs)).css(‘pointer-events’, ‘none’).addClass(options.disClass);
_this.timer = setInterval(function () {
secs–;
_this.$btn.html(_this.getStr(secs));
if (secs = 0) {
_this.resetBtn();
clearInterval(_this.timer);
}
}, 1000);
};
/**
* 獲取倒計時顯示文本
* @param secs
* @returns {string}
*/
SendCode.prototype.getStr = function (secs) {
return this.options.runStr.replace(/\{([^{]*?)%s(.*?)\}/g, secs);
};
/**
* 重置按鈕
*/
SendCode.prototype.resetBtn = function () {
var _this = this,
options = _this.options;
_this.$btn.html(options.resetStr).css(‘pointer-events’, ‘auto’).removeClass(options.disClass);
};
//jQuery 插件擴展方法
function Plugin (option) {
/*主要用於控制項二次調用,比如$(‘div’).sendCode(‘getStr ‘,120); 這個時候,第一個參數只是方法名,第二個參數才是option,所以,下面這句代碼的意義就是取到第二個參數。其實就是變相將sendcode內部方法外露出去
*/
var args = Array.prototype.slice.call(arguments, 1);
/*留意最下面一行代碼,$.fn.sendCode = Plugin;此代碼的意義是在jQuery控制項庫擴展了一個叫sendCode的控制項,調用方法為$(‘div’).sendCode({secs:120}); 那麼此時Plugin
的內置對象this為$(‘div’)是一個數組,所以要循環生成控制項。這樣做法是為了滿足調用方在頁面上一次生成多個控制項。
*/
return this.each(function () {
var $this = $(this),//單個元素
sendcode = $this.data(‘ydui.sendcode’);//獲取保存在元素上的SendCode對象
//如果元素上沒有保存過對象,那麼初始化SendCode對象並保存到元素上
if (!sendcode) {
$this.data(‘ydui.sendcode’, (sendcode = new SendCode(this, option)));
//如果option參數是對象,那麼直接啟動控制項
if (typeof option == ‘object’ option.run) {
sendcode.start();
}
}
//這裡就是上面說的二次調用,$(‘div’).sendCode(‘run’);這個時候的option=’run’
if (typeof option == ‘string’) {
sendcode[option] sendcode[option].apply(sendcode, args);
}
});
}
//將控制項擴展到jQuery
$.fn.sendCode = Plugin;
}();
這個就是發送驗證碼時,按鈕文本變化的一個小控制項,核心代碼已添加註釋,有問題再聯繫,望採納。
能幫我逐行翻譯一下這個JS代碼嗎,我還沒學過,但是要用這一段。
很簡單呀,這是一個選項卡選擇的一個方法,參數thisObj是一個list對象,也就是你的選項卡內容的集合,參數num,是你想要選中的list的對象下標;
首先判斷傳入進來的對象是否是「active」,即活動狀態(也就是選中狀態),是的話就返回,不做任何操作;不是「active」的話,就將thisObj中的list對象下標為num的設置為「active」,其它的未「active」,即「normal」
幫我翻譯一下下面這段JS代碼
/* 判斷id為content的元素的html內容是不是超過150
超過就顯示150個,最後顯示”…顯示全部”
點擊 “…顯示全部” 表示出全部內容 “…顯示全部”變成”收起”
點擊 “收起” 只顯示前150個字元 “收起”變成”…顯示全部”
不超過就就原本表示
*/
function show() {
var box = document.getElementById(“content”); // 獲取id為content的元素
var text = box.innerHTML; // 獲取html內容①
var newBox = document.createElement(“span”); // 新建一個span元素
var btn = document.createElement(“a”); // 新建一個a元素(超鏈接)
newBox.innerHTML = text.substring(0, 150); // 修改span元素內的html內容為上面獲取的①的前150個字元
btn.innerHTML = text.length 150 ? “…顯示全部” : “”; // 修改a元素內的html,①的內容長度大於150時,設置為”…顯示全部”,反之設定為””
btn.href = “###”; // 設置a元素的錨點,死鏈接(點擊頁面不會有任何變化,url會改變)
btn.onclick = function() { // 設置a元素的單擊事件
if (btn.innerHTML == “…顯示全部”) {
btn.innerHTML = “收起”; // 如果a元素的html內容為”…顯示全部”,修改為”收起”
newBox.innerHTML = text; // 修改span元素內的html內容
} else {
btn.innerHTML = “…顯示全部”; // 如果a元素的html內容不是”…顯示全部”,修改為”…顯示全部”
newBox.innerHTML = text.substring(0, 150); // 修改span元素內的html內容
}
}
box.innerHTML = “”; // 重置box的html內容
box.appendChild(newBox); // 添加子元素span
box.appendChild(btn); // 添加子元素a(位於span的後面)
show(); // 執行
js代碼翻譯
JS即Javascript,Javascript是一種由Netscape的LiveScript發展而來的腳本語言,主要目的是為了解決伺服器終端語言,比如Perl,遺留的速度問題。當時服務端需要對數據進行驗證,由於網路速度相當緩慢,只有28.8kbps,驗證步驟浪費的時間太多。於是Netscape的瀏覽器Navigator加入了Javascript,提供了數據驗證的基本功能。
幫忙翻譯一段javascript代碼 50分 好了追加300分
function sortList(listId){ //從字面看,是排序的函數
var aList=new Array(); //定義aList為一個新的數組對象
var aText=new Array(); //同上
var 1st=getObj(listId);//初始1st,讓它等於getObj()函數返回的值
for (var i=0;i1st.length;i++){ //循環,i小於1st的長度(估計1st是個數組或者是select元素)
aList[i]=new listObj(1st.options[i].text,1st.options[i].value);// 循環把值插入到aList這個數組內的相應位置
aText[i]=1st.options[i].text; //把1st這個select元素的文本循環加入到aText數組內
}
aText.sort(); //aText排序
clearList(listId); //字面的意思是清楚列表
for(var i=0;iaText.length;i++){ //一個循環,是在1st這個select元素中創建新的option
1st.options[i]=new
Option(aText[i],getValueByKey(aList,aText[i]));
}
}
function getValueByKey(aList,Key){//函數,通過鍵取值
for(var i=0;iaText.length;i++){ //循環
if(aList[i].text==key)return aList[i].value;//如果aList數組的值與鍵值相等,就返回一個當前的aList數組內的值
}
return””; //否則返回””值
}
function listObj(text,value){//上邊要調用這個函數,聲明變數的函數
this.text=text; //全局text等於形參text
this.value=value; //同上
}
!–
—
select id=”myList”multiple size=”6″//select元素,多選,有6項
option value=”0″book/option
option value=”1″pen/option
option value=”2″pencil/option
option value=”3″amount/option
option value=”4″music/option
option value=”5″basic/option
/select
input type=”button”value+”排序”onclick=”sortList(‘myList’)”//按鈕。當點擊按鈕時,調用排序函數進行排序。
有沒有人幫我翻譯一下這段JS代碼
分還真少,難怪沒什麼人氣。。。算了,受人已漁乃吾本之道。。。script //腳本開始標記
var speed=50 //申明變數 speed 值 50,從字面上看是步長的意思。。大概就是隔多久。這裡是50。
demo2.innerHTML=demo1.innerHTML //將demo1標籤或者是框架的內容複製給demo2.這裡包括了HTML內容。。全部複製/
function Marquee(){ //申明方法
if(demo2.offsetTop-demo.scrollTop=0) //判斷
demo.scrollTop-=demo1.offsetHeight //如果demo2的最高高度還大於demo那麼就執行這句。具體的高度值會根據不同的瀏覽器有不同的標準。。所以這些的解釋只能說明大概意思。。。
else{
demo.scrollTop++ //否則就執行這一句。
}
}
var MyMar=setInterval(Marquee,speed) //setInterval是一個內置函數,裡面的第一個參數就是剛才上面的哪個方法.Marquee,speed是第一句申明的變數,他的值是50,也就是說在這裡,0.05秒執行一次。說明速度還是比較快的。。作用就是間隔多少時間做什麼事情。。。
demo.onmouseover=function() {clearInterval(MyMar)} //這是滑鼠事件,如果滑鼠移動到demo的div上。那麼就用clearInterval清除掉上面的setInterval函數。。。從而達到滾動停止。。
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}//這句就好理解了撒。。滑鼠離開。在繼續setInterval函數。。開始滾動
/script標籤結束。。 不知道,偶的回答樓主是否清楚,是否滿意。。。,若是清楚請選擇。。。若是滿意請加分。。謝謝。
原創文章,作者:JHN3V,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/130466.html