gpt4 book ai didi

javascript - 使用 Jquery 将视口(viewport)宽度大小应用于悬停时的 div

转载 作者:行者123 更新时间:2023-11-28 11:54:50 24 4
gpt4 key购买 nike

我有三个水平排列的 div。每个都从 JQuery 更新大小函数中获取它们的宽度大小。但是,不是像这样加载,我希望它们以 300px 加载并在悬停时根据视口(viewport)大小进行动画处理(类似于悬停时不透明度的动画处理方式)。

这是我目前所拥有的:

http://werdnaworks.com/test/

最佳答案

在每个 <div>悬停 animate()两者 widthopacity .但是您还必须将 parent width 设置为 total <div> s 的宽度,以便您可以将它们保持在一行。

var $div = $('div'),
divW = $div.width(),//300px
divLen = $div.length,
windowW = window.innerWidth;

$('body').width(divW*divLen);

$div.hover(function(){
$(this).stop().animate({width:windowW, opacity:1},'fast');
$('body').stop().animate({width:windowW+(divW*divLen-1)},'fast');
},function(){
$(this).stop().animate({width:divW, opacity:0.5},'fast');
$('body').stop().animate({width:divW*divLen},'fast');
});

请看这个fiddle .

您可能还想自动滚动到 <div>被盘旋。你可以用动画来做到这一点 scrollLeft .

$div.hover(function(){
var offsetLeft = $(this).offset().left;
$(this).stop().animate({width:windowW, opacity:1},'fast');
$('body').stop().animate({width:windowW+(divW*divLen-1), scrollLeft:offsetLeft},'fast');
},function(){
$(this).stop().animate({width:divW, opacity:0.5},'fast');
$('body').stop().animate({width:divW*divLen},'fast');
});

检查这个fiddle

关于javascript - 使用 Jquery 将视口(viewport)宽度大小应用于悬停时的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20159359/

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