向右滑动一个图像,同时打开一个超时的新窗口url
Sliding an Image to the right, while opening a new window url with timeout
我有一组div,其中包含被图像覆盖所隐藏的内容。我有这样的代码,它设置display:none到图像来显示隐藏的内容。
<div style="display: inline-block; position: relative;left:600px;">
hidden content
<img src="01.jpg" class="otherContainers" style="position:absolute;top:0;left:0;">
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type='text/javascript'>
$(window).load(function(){
$(".otherContainers").click(function () {
$(".otherContainers").css('display', 'none');
});
});
</script>
我正试图在这个脚本中添加两个操作。。。
不只是显示:没有封面图像,我想在隐藏它们之前将它们向右滑动。我试过更换
$(".otherContainers").css('display', 'none');
带有
$(".otherContainers").hide('slide',{direction: "right"}, 1000);
但它破坏了剧本?
其次,我想添加一个延迟的url打开。过去我用过类似的东西
<a onclick='"setTimeout('window.open(''THEURL'')', 8000);'" rel='nofollow'>button img</a>
附在一个单独的按钮上。当我尝试将它添加到覆盖隐藏内容的图像中时,什么也没发生。
如何将这些函数添加到我正在使用的脚本中?感谢提供任何线索!
hide("slide",...)
是jQuery UI的一部分(尽管我不确定slide
是否存在于API中)。
试试这个:
$(window).load(function(){
$(".otherContainers").click(function (){
$(".otherContainers").each(function(){
$(this).animate({left:'+='+$(this).width()},500,function(){$(this).hide()});
//alternative squeezing animation
//$(this).animate({width:0,height:$(this).height(),left:'+='+$(this).width()},500,function(){$(this).hide()});
});
setTimeout(function(){window.open('http://api.jquery.com/animate/');},2000);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div style="display:inline-block; position:relative; left:60px;">
hidden content
<img src="http://placehold.it/200x200&text=image" class="otherContainers" style="position:absolute; top:0; left:0;" />
</div>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<div style="display:inline-block; position:relative; left:60px;">
hidden content
<img src="http://placehold.it/300x150&text=image" class="otherContainers" style="position:absolute; top:0; left:0;" />
</div>
(小提琴:http://jsfiddle.net/b66ujfoh/5/)
- 这首先设置图像的动画,使其向右滑动一段与其自身宽度相当的距离
- 动画完成后,将执行完整的功能,其中隐藏图像
- 在动画代码中,
500
(ms)是动画的持续时间,可以根据需要更改 .each(function(){
使用class="otherContainers"
对每个元素进行迭代,因此单击该类的任何一个图像都会导致所有图像滑动和隐藏
(它还确保每个图像的滑动距离与其自身宽度相同,而不是单击图像的宽度。)- 延迟的
window.open()
在代码片段中似乎不起作用,但在jsfiddle中,StackOverflow可能禁用了弹出窗口或其他什么 - 我添加了一个替代的挤压动画(评论掉了),我想也许你更喜欢它,只要选择你喜欢的
相关文章:
- 你能加载一个带有JS超时的PHP包吗
- 是否从超时内开始间隔是一个问题
- 如何一个接一个地运行javascript超时,而不是并行运行
- 将图像替换为另一个图像,然后在超时后再次替换 - Javascript
- 如何创建一个内部带有延迟/超时的 javascript 书签
- 向右滑动一个图像,同时打开一个超时的新窗口url
- javascript”;具有超时的切换效果”;窃听是因为一个“;不透明度:0〃;
- WebAPI在登录超时时向我发送了一个完整的HTML页面.如何在AngularJS中使用此响应
- 指向一个对象'的属性超时
- 如何创建一个rucursive超时函数
- 为什么on('data')侦听器将两个不同的请求解释为一个,除非添加超时
- 多个JavaScript超时弹出窗口,只有在上一个弹出窗口关闭时才会显示
- 如何通过两个嵌套的匿名函数(一个带有超时的事件处理程序)传递变量
- 在AJAX成功中超时一个HTML标记
- 重复一个Promise,直到它没有被拒绝或超时为止
- 超时后如何更改下一个图像
- 我如何测试如果一个URL是一个有效的图像与超时的图像请求与javascript
- 反复调用一个函数,直到它的承诺被解决,或者直到设置的超时时间过去
- js不渲染,除非我设置一个超时
- JavaScript中只能有一个超时