读书人

js改走形式

发布时间: 2012-09-07 10:38:15 作者: rapoo

js改变样式

JScript code
<script type="text/javascript">    function yanse(){                        document.getElementById('picture').style.backgroundColor = '#f8f8f8';            document.getElementById('picture').style.border = '1px solid #00a2ff';        }    function old(){            document.getElementById('picture').style.backgroundColor = '#f1f1f1';            document.getElementById('picture').style.border = '1px solid #D7D7D7';        }</script>

HTML code
<ul class="photos clearfix">        <li>            <div class="picture" id="picture" onMouseOver="yanse()" onMouseOut="old()"><span></span><a href="#"><img src="photo_1.jpg"></a></div>            <div class="name"><a href="#">图片1</a></div>        </li>        <li>            <div class="picture"><span></span><a href="#"><img src="photo_2.jpg"></a></div>            <div class="name"><a href="#">图片2</a></div>        </li>        <li>            <div class="picture"><span></span><a href="#"><img src="photo_3.jpg"></a></div>            <div class="name"><a href="#">图片3</a></div>        </li>        <li>                       <div class="picture"><span></span><a href="#"><img src="photo_4.jpg"></a></div>            <div class="name"><a href="#">图片4</a></div>        </li></ul>


页面中id是惟一的,如果其他的class为picture的盒子使用这个函数的时候,需要命名为其他的id,在实际项目中运用太麻烦,怎么样才能达到当鼠标在任意一个class为picture的盒子上时,就改变背景色和边框颜色呢?

[解决办法]
HTML code
<script type="text/javascript">window.onload = function() {    var ul = document.getElementsByTagName('ul');    for (var i = 0; i < ul.length; i ++) {        if (ul[i].className.indexOf('photos') != -1) {            var obj = ul[i].getElementsByTagName('div');            for (var j = 0;j < obj.length; j ++) {                if (obj[j].className == 'picture') {                    obj[j].onmouseover = function() {                        this.style.backgroundColor = '#f8f8f8';                        this.style.border = '1px solid #00a2ff';                    }                    obj[j].onmouseout = function() {                        this.style.backgroundColor = '#f1f1f1';                        this.style.border = '1px solid #D7D7D7';                    }                }            }        }    }}</script>
[解决办法]
HTML code
<!DOCTYPE html><html> <head>  <title> new document </title> </head> <script type="text/javascript">    function yanse(obj){                     obj.style.backgroundColor = '#f8f8f8';            obj.style.border = '1px solid #00a2ff';        }    function old(obj){            obj.style.backgroundColor = '#f1f1f1';            obj.style.border = '1px solid #D7D7D7';        } </script> <body>  <ul class="photos clearfix">        <li>            <div class="picture" id="picture" onMouseOver="yanse(this)" onMouseOut="old(this)"><span></span><a href="#"><img src="photo_1.jpg"></a></div>            <div class="name"><a href="#">图片1</a></div>        </li>        <li>            <div class="picture" onMouseOver="yanse(this)" onMouseOut="old(this)"><span></span><a href="#"><img src="photo_2.jpg"></a></div>            <div class="name"><a href="#">图片2</a></div>        </li>        <li>            <div class="picture" onMouseOver="yanse(this)" onMouseOut="old(this)"><span></span><a href="#"><img src="photo_3.jpg"></a></div>            <div class="name"><a href="#">图片3</a></div>        </li>        <li>                       <div class="picture" onMouseOver="yanse(this)" onMouseOut="old(this)"><span></span><a href="#"><img src="photo_4.jpg"></a></div>            <div class="name"><a href="#">图片4</a></div>        </li></ul> </body></html> 


[解决办法]
原生好麻烦,有jquery就好了
[解决办法]

探讨

原生好麻烦,有jquery就好了

[解决办法]
用jquery,代码如下:

<style type="text/css">
.picture
{
margin:10px;
width:50px;
border:1px solid #D7D7D7;
background-color:#ff0000 ;
}
.spicture
{
margin:10px;
width:50px;
border:3px solid #00a2ff;
background-color:#0000ff ;
}

</style>

<script type="text/javascript">

$(function(){
$(".picture").bind("mouseover",
function()
{
$(this).addClass("spicture");//追加样式
}
);
$(".picture").bind("mouseout",
function()
{
$(this).removeClass("spicture");//删除样式
}
);

});

</script>
[解决办法]
使用jquery

读书人网 >JavaScript

热点推荐