本文目录一览:
- 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标签结束。。 不知道,偶的回答楼主是否清楚,是否满意。。。,若是清楚请选择。。。若是满意请加分。。谢谢。