网页中图片去色问题

news/2024/7/11 1:11:24 标签: 图片, 鼠标, ie, jquery, 360
iews" class="htmledit_views">

网页中图片去色问题

网页中经常需要一种js效果,就是鼠标经过某张图片图片去色。为了不加载两张图片(一张彩色和一张灰色),在网上找到了一些方法。

方案一:使用grayscale.js

可以使用grayscale.js来实现图片的去色,但是有个缺点就是它可以实现鼠标经过图片去色,但是实现不了鼠标移开之后,图片恢复颜色。

<script src="http://james.padolsey.com/demos/grayscale/grayscale.js" type="text/javascript"></script>

使用demo:
<script type="text/javascript">
window.οnlοad=function(){ 
grayscale(document.body); 
}
</script> 

效果如下图:

没有执行函数之前:

 

执行函数之后:

 

 

方案二:使用css滤镜

Css样式:

 

<style type="text/css">

     .gray {

            height: 350px;

            width: 350px;

            filter: gray;  /* ie6-8 */

            filter: grayscale(1);

            filter: progid: DXImageTranorm.Microsoft.BasicImage(grayscale=1);  /*ie6-9 */

            filter: grayscale(100%);      /* 未来浏览器 */

            -webkit-filter: grayscale(100%);   /* chrome+ */

            -moz-filter: grayscale(100%);

            -ms-filter: grayscale(100%);

            -o-filter: grayscale(100%);

            filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");    /* Firefox 3.5+ */

            filter: progid: DXImageTransform.Microsoft.BasicImage(grayscale=1);

            -webkit-filter: grayscale(1);

    }

    </style>

Html部分:

 

<div>

        <img src="images/new_1.jpg" height="350px" width="350px" id="new_1">

</div>

Jquery部分:

 

<script type="text/javascript">

        $(document).ready(function () {

            $('#new_1').hover(function () {

                $(this).addClass('gray');

            }, function () {

                $(this).removeClass('gray');

            })

        })

    </script>

效果下图:鼠标经过:


鼠标移开:


 

这样控制可以兼容chromefirefox360,但是唯一的缺点就是不兼容IE


http://www.niftyadmin.cn/n/798023.html

相关文章

Life Forms POJ - 3294(不小于k个字符串中的最长子串)

题意&#xff1a; 求不小于字符串一半长度个字符串中的最长字串 解析&#xff1a; 论文题例11 将n个字符串连起来&#xff0c;中间用不相同的且没有出现在字符串中的字符隔开&#xff0c; 求后缀数组&#xff0c; 然后二分答案变为判定性问题&#xff0c; 然后判断每组的后缀是…

select中option改变时跳转到其他页面

html代码&#xff1a; <div class"friend_link"> <select οnchangembar(this) name"select"> <option selected>友情链接</option> <opti…

MySQL新建用户无法登录

Access denied for user xiaoqiulocalhost (using password :NO) resolution: 删除匿名用户&#xff08;mysql.user表中user为空的用户&#xff09;delete from user where mysql.user; 生效(更改了用户表&#xff0c;用户的权限都需要执行&#xff0c;否则需要重启MySQL服务)…

mysql根据某一张表的字段更新另一张表的字段

&#xff01;FIND_IN_SET()取反表示某个字符串不存在另外一个字符串中 -- 基金经理&#xff08;根据findinfo表中的im_ids更新&#xff09; UPDATE user u INNER JOIN fundinfo f ON FIND_IN_SET(u.user_id,f.im_ids) AND !FIND_IN_SET(1,u.jobs)SET u.jobs CASE WHEN (ISNU…

实现HttpServlet HttpURLConnect获取页面

1.模拟浏览器获取http://www.51job.com的流 2.将获取的流用resp.writ() 写入到resp中 3.浏览器输入localhost&#xff1a;8080将会看到51job的界面。 public class ServletDem extends HttpServlet {Overrideprotected void doPost(HttpServletRequest req, HttpServletRespons…

jQuery方法

一、对象[js]view plaincopy$.type() //返回参数类型&#xff0c;如果为null则返回null $.extend()//第一个参数为true时为深度复制 $.isEmptyObject() //是否含有属性值&#xff0c;参数可以是非对象 $.isPlainObject() //是否属于纯粹的对象&#xff08;通…

jquery如何给对象动态添加属性以及选择器、事件的绑定

在工作用要用到给jd对象动态添加属性的要求&#xff0c;在网上找到了一种解决方式&#xff0c;实例如下&#xff1a; 1、demo[javascript] view plaincopy[javascript] view plaincopy[javascript] view plaincopyvar aa"maker"; var bb123; var lists{}; eval(&q…

jQuery事件监听

$("element").addEventListener(eventType,hander,userCapturePhase); 第一个参数是事件类型&#xff0c;第二个参数是用于处理该事件的函数&#xff0c;第三个参数的布尔值&#xff0c;用于是否执行事件捕获阶段。&#xff08;从外到内&#xff09; .bind("cli…