首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

名震中外的输入框

2012-10-25 
引人注目的输入框闪烁的东西往往会吸引别人的注意。你可以用它来强调一些比较重要的内容。文本框也可以做到。

引人注目的输入框

闪烁的东西往往会吸引别人的注意。你可以用它来强调一些比较重要的内容。文本框也可以做到。

将如下javascripts代码加入紧靠</BODY>上面的位置。

<script language="JavaScript1.2">
<!--//
if (document.all&&document.all.flashit){

var flashelement=document.all.flashit
if (flashelement.length==null)
flashelement[0]=document.all.flashit

function changecolor(which){
if (flashelement[which].style.color=='')
flashelement[which].style.color="red"
else
flashelement[which].style.color=""
}


if (flashelement.length==null)
setInterval("changecolor(0)",1000)
else
for (i=0;i<flashelement.length;i++){
var tempvariable='setInterval("changecolor('+i+')",'+'1000)'
eval(tempvariable)
}

}
//-->
</script>

然后在凡是要产生闪烁效果的地方加上:id="flashit" 即可。例如:

(1):
<textarea name="textfield" cols="40" rows="8" id="flashit">
(2):
<input type="text" name="textfield" value="文本框也可以的" size="40" id="flashit">
(3):
<input type="submit" name="Submit" value="Submit" id="flashit">

?

?


换成.凡是要产生闪烁效果的地方加上 比较好
很奇怪楼主怎么发出来的....f l a s h i t ..提交的时候提示我不允许包含 s h i t 这个词<input type="text" name="textfield" value="一个简单的ID有那么麻烦么?" size="40" id="flash"><script>function $(id){return document.getElementById(id)}function c(){var o = $("flash");o.s=(!o.s)?false:true;//我编写的时候这里只有一个 o 不知道为什么提交的时候出现了两个 o ,javaeye 改 bugo.style.color=o.s?"red":""; o.s=(o.s)?false:true;}var a = setInterval(c,500);</script>
<script>
setInterval(function(){
var o = document.getElementById("f");
o.s=(!o.s)?false:true;
o.style.color=o.s?"red":"";
o.s=(o.s)?false:true;
},500);
</script><input type="text" value="aaa"/><input type="text" value="bbb"/><input type="text" value="ccc"/></body><script language="JavaScript"><!--//var list=$(".flash").everyTime(1000,function(){$(this).css('color',$(this).css('color')=='red'?'black':'red');});;//--></script><input type="text" value="好吧,用jquery" size="40" value="好吧,用jquery" size="40" name="code"><input type="text" value="好吧,用jquery" size="40" value="好吧,用jquery" size="40" /> ,这不是阿亮吗?你也贴代码了啊,不简单.<script>
~function(){
var o = document.getElementById("f");
var i = 0;
var colors = ['red', ''];
setInterval(function(){
o.style.color = colors[i++ % 2];
},500);
}()

</script>
<input type="text" name="textfield" value="哈哈" size="40" id="f">

<input type="text" name="textfield" value="呵呵" size="40" id="f">
<script>

~function(){
var os = document.getElementsByName('textfield');
var colors = ['red', ''];
for (var i = 0, c; c = os[i++];){
~function(c){
var j = 0;
setInterval(function(){
c.style.color = colors[j++ % 2];
},500);
}(c);
}
}()

</script> <script>
setInterval(function(){
var o = document.getElementById("f");
o.style.color=o.style.color!="red"?"red":"black";
},500);
</script>

<script>
setInterval(function(){
var o = document.getElementById("f");
o.style.color=o.style.color!="red"?"red":"black";
},500);
</script>



瞎扯蛋. 没听过i能自增到内存溢出. 变量也只是局部变量, 清清楚楚的. 你那样每隔半秒取一次document.getElementById和每隔半秒多余读一次它的

style.color才是效率杀手. 我估计你这种代码风格, 别说大型游戏, 写个贪食蛇都能搞死机. 随意给节点添

加自定义属性更是瞎扯. 没听过html4 strict罢了, firefox里至少也要跑跑看吧? 而且o.s=(!o.s)?

false:true; 这个三目运算真是丑晕了. !!没用过吗?


19 楼 02221021 2010-03-29   IE7下顺便给你个数据.先是你的.测试代码:
var d = new Date;

for (var i = 0; i < 10000; i++){
var o = document.getElementById("f");
o.s=(!o.s)?false:true;
o.style.color = o.s?"red":"";
o.s=(o.s)?false:true;
}

alert (new Date - d);

耗时 953ms

再是我的
var d = new Date
~function(){
var o = document.getElementById("f");
var i = 0;
var colors = ['red', ''];
for (var j = 0; j < 10000; j++){
o.style.color = colors[i++ % 2];

}
}()

alert (new Date - d);

耗时138ms.

哦, 当然, 我给页面多加了200个节点进去.

20 楼 happysoul 2010-03-29   汗。。。我不知道你怎么测的。。。
你测的代码是用我最开始想到的,不过你把var o = document.getElementById("f"); 也放到循环里面当然时间要长很多很多了。。。

对于你的代码,500ms可能不是一个很短的时间,如果换成了1ms的话你的自增总会有增到数字最大值的时候...?这个你能保证不发生么?

o.style.color=o.style.color=="red"?"black":"red";
这个方法算是完全利用代码本身的属性了

第一页的代码只是随手一写,完全没有考虑,所以我才有后面不断修改的精简版

最后,我的JS只算是初级自学,完全是兴趣使然,拿出来只是为了大家分享一下而已,毕竟我有自己的工作,又不是JS方面的,研究时间长了用处也不大...
LS的代码也拿走学习,会不会有溢出的危险那只能先当做问号处理了,不过如果非要用判断的话我依旧推崇用true false代替你的自增,代码的稳定和安全永远放到第一位!效率么... 我相信你把 getElements放到外面10000的数据量不会差太多的 21 楼 02221021 2010-03-29   帮你算了下。 按每半秒一次, 自增到超过int最大值 , 大概要2.850223767856284e + 300年。

应该够用了吧

热点排行