gpt4 book ai didi

jquery - 如何使用 html css 和 jquery 为蒙版或剪辑下的图像制作动画?

转载 作者:行者123 更新时间:2023-11-27 23:58:33 25 4
gpt4 key购买 nike

我正在尝试为蒙版下的图像移动设置动画,但它保持不动我有两种方法:一种使用 mask 属性,第二种使用 th clip

使用掩码的第一种方式:

请参阅 http://jsfiddle.net/2Aecz/ 处的工作脚本或以下

<html>
<head>
<style>
#myimage {
clip-path: url(#mask1);
position: absolute;

}
</style>
</head>

<body>

<img id="myimage" src="http://lorempixel.com/100/100" >
<svg width="0" height="0">
<defs>
<clipPath id="mask1">
<circle cx="50" cy="50" r="50" />
</clipPath>
</defs>
</svg>


<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script>
$( document ).ready(function() {
$( "#myimage" ).click(function() {
$( "#myimage" ).animate({ "left": "+=5px" }, "slow" );
var left = $('path, polygon, circle').attr('cx');
$('path, polygon, circle').attr('cx', left-5);
});
});
</script>

</body>

第二次使用剪辑

请参阅 http://jsfiddle.net/XdtNy/ 处的工作脚本或以下

<html>
<head>
<style>
#myimage {
mask: url("#mask2");
position: absolute;
}


</style>


</head>

<body>
<img id="myimage" src="http://lorempixel.com/100/100" >
<svg width="0" height="0">
<defs>
<mask id="mask2" >
<circle cx="50" cy="50" r="40" style="fill: #ffffff"/>
</mask>
</defs>
</svg>


<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script>
$( document ).ready(function() {
$( "#myimage" ).click(function() {
$( "#myimage" ).animate({ "left": "+=5px" }, "slow" );
var left = $('path, polygon, circle').attr('cx');
$('path, polygon, circle').attr('cx', left-5);
});
});
</script>

</body>

我的问题:

如何将图像和 mask (反向)一起移动并流动?还是有任何其他方法可以对此进行动画处理?

最佳答案

目前很多浏览器似乎不支持这种屏蔽方法,这在生产代码中可能没有用。

话虽如此,我会将图像应用于 block 对象的背景,然后为背景设置动画。这样,对象保持原位,但移动仅应用于背景的偏移。

例子: http://jsfiddle.net/R5FQY/

HTML:

<div id="myimage2"> </div>
<svg width="0" height="0">
<defs>
<clipPath id="mask">
<circle cx="50" cy="50" r="50" />
</clipPath>
</defs>
</svg>

CSS:

#myimage2 {
background:transparent url('http://lorempixel.com/100/100');
width:100px;
height:100px;
clip-path: url(#mask);
}

Javascript:

$( document ).ready(function() {
$( "#myimage2" ).click(function() {
$(this).animate({ 'backgroundPosition': "+=5px" }, "slow" );
});
});

关于jquery - 如何使用 html css 和 jquery 为蒙版或剪辑下的图像制作动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22553032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com