如何用js实现图片逐渐拉远的效果

本人还不懂写js,本想上网搜索下载过来改的,但发现还是不会改,效果类似这样lifestore.nero-hair.jp(网址)... 本人还不懂写js,本想上网搜索下载过来改的,但发现还是不会改,效果类似这样lifestore.nero-hair.jp(网址) 展开
 我来答
大千视界影视大全
2015-08-07 · TA获得超过377个赞
知道小有建树答主
回答量:72
采纳率:0%
帮助的人:87.6万
展开全部

恩恩,看了你的这个预期效果!这是我的代码,你可以看看,可以实现这个效果:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>AlloyTeanm-zy</title>
    <script src="jquery-1.11.1.js"></script>
    <style type="text/css">
        body{

            font-family: simhei;
            overflow: hidden;
        }

        #div1{

            overflow:hidden;
        }
        #pic{

            position: relative;
            overflow: hidden;
        }
    </style>
    <script type="text/javascript">
        $(document).ready(function(){

            $("#pic").load(function() {

                $("#pic").animate({width:'1520px',height:'700px',top:'-10px',left:'-5px',bottom:'0px',right:'-10px'},8000);

            })
        })
    </script>
</head>
<body>
    <div style="width: 1600px ;height: 700px"  >
    <img src="05.jpg" id="pic" style="width: 1700px;height: 800px;top:-100px;left: -100px">

   </div>
</body>
</html>


  需要注意的几点:

  1.我用的是jQuery,需要引入外部jQuery库!

 <script src="jquery-1.11.1.js"></script>

  2.图片的原始大小,以及屏幕的大小都会影响这个效果!

  3.这些top属性和left属性,都是根据我的图片和屏幕调的,具体的值,你要根据自己的情况更改,反正原理就这样!原理是,将图片的长度和宽度调的比屏幕窗口或者DIV大,也就是让图片“溢”出来,多的部分使用“overflow:hidden”隐藏掉,然后在让图片他恢复和窗口或者DIV一样大尺寸,就会产生图片拉远的效果!

 有不懂的地方继续问我!


 希望能帮助到你,望采纳!

 

   

追问
图片我可以设大一点,但显示器或者浏览器大小不同的话就不能缩小居中了,有没有办法解决这一点?
南极潇湘水
2015-08-07 · 本人专业生产bug一百年
南极潇湘水
采纳数:515 获赞数:999

向TA提问 私信TA
展开全部
<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" />
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>test</title>
    <link rel="stylesheet" href="css.css" type="text/css" media="screen">
</head>
<body>
    <style type="text/css">
        .top{border:1px solid red;overflow: hidden;float:left;text-align:center;position:relative;width:500px;height:300px;}
        .top img{width:550px;height:350px;position:absolute;top:50%;margin-top:-175px;left:50%;margin-left:-275px;animation:gogogo 5s infinite;/* Safari and Chrome */-webkit-animation:gogogo 5s infinite;-webkit-animation-timing-function:linear;}
        /*css3 animation,*/
        @keyframes gogogo
        {
        from {width:550px;height:350px;position:absolute;top:50%;margin-top:-175px;left:50%;margin-left:-275px;}
        to {width:500px;height:300px;position:absolute;top:50%;margin-top:-150px;left:50%;margin-left:-250px;}
        }
        /**上面所有css中,margin-top=height/2,margin-left=width/2**/
    </style>
    <div></div>
    <div class='top' ><img src='http://lifestore.nero-hair.jp/wp-content/themes/neroHairAndLifeStore/assets/images/top/top-vi-image2.jpg' ></div>
    <div>上面代码中css 的animation放在.top img{}中,切换图片可以考虑修改class=top 形式</div>
    <div>仅供参考</div>
</body>
</html>
更多追问追答
追问
这种方法可以做到,但不兼容所有的浏览器,请问怎样解决这个问题?
追答

css覆盖,支持Safari,Opera,Firefox,Chrome,Firefox和IE9及以上,IE8及以下不支持

使用低版本IE内核的杂牌浏览器不支持

.top{border:1px solid red;overflow: hidden;float:left;text-align:center;position:relative;width:500px;height:300px;}
.top img{width:550px;height:350px;position:absolute;top:50%;margin-top:-175px;left:50%;margin-left:-275px;animation:gogogo 5s infinite;/* Safari and Chrome */-webkit-animation:gogogo 5s infinite;-webkit-animation-timing-function:linear;}
/*css3 animation,*/
@keyframes gogogo{from {}to {transform:scale(0.5)}}
@-ms-keyframes gogogo{from {}to {transform:scale(0.5)}}
@-webkit-keyframes gogogo{from {}to {transform:scale(0.5)}}
@-moz-keyframes gogogo{from {}to {transform:scale(0.5)}}
@-o-keyframes gogogo{from {}to {transform:scale(0.5)}}
/**缩小比例0.5**/
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式