Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery";“与团队会面”;影响_Javascript_Jquery_Arrays_Onmouseover - Fatal编程技术网

Javascript jQuery";“与团队会面”;影响

Javascript jQuery";“与团队会面”;影响,javascript,jquery,arrays,onmouseover,Javascript,Jquery,Arrays,Onmouseover,我正在尝试为创建jQuery效果。 这个想法是,在鼠标上,其他照片都在“看”选定的一张。下面是html代码 <ul class="team"> <li><img src="pics/team/t-0001.jpg" alt=""/></li> <li><img src="pics/team/t-0002.jpg" alt=""/></li> <li><img src="p

我正在尝试为创建jQuery效果。 这个想法是,在鼠标上,其他照片都在“看”选定的一张。下面是html代码

<ul class="team">
    <li><img src="pics/team/t-0001.jpg" alt=""/></li>
    <li><img src="pics/team/t-0002.jpg" alt=""/></li>
    <li><img src="pics/team/t-0003.jpg" alt=""/></li>
    ...
</ul>
  • ...
理论上我理解,当鼠标在其中一个li元素上时,我必须更改其他元素中图像的src值。需要几个数组来存储这些路径

但在实践中,我遇到了很大的问题

我应该先做什么?可能有一些例子或插件

我将感谢任何帮助


谢谢你的帮助!抱歉,无法提前回答,有很多工作要做

我找到了解决办法。它非常简单,也不太灵活,但它可以工作。我使用的是背景图像。以下是示例

放置一张带有显示块、正常图像宽度和高度的“双”图像,并将css位置更改为负片和背面。 注意:为了便于jQuery选择,我在每个图像中添加了class=“smart”

放置一张带有显示块、正常图像宽度和高度的“双”图像,并将css位置更改为负片和背面。
注意:为了便于jQuery选择,我在每个图像中添加了class=“smart”

好吧,我建议您使用json而不是常规数组。。。为什么?您可以为给定的json对象分配一个用户名,该用户名包含该用户的所有图像,其他用户也包含相同的内容,然后在鼠标上循环通过该用户json对象。 假设你有这样一个物体

 myvalues = [{"userone":['srcone','srctwo'],"usertwo":['srcone','srctwo']}]
u像这样迭代它

for (var key in myvalues) {
    var obj = myvalues[key];
    for (var prop in obj) {
        alert("User:"+prop+" Valueone: "+obj[prop][0]+" Valuetwo:"+obj[prop][1]);
   }

}

好吧,我建议您使用json而不是常规数组。。。为什么?您可以为给定的json对象分配一个用户名,该用户名包含该用户的所有图像,其他用户也包含相同的内容,然后在鼠标上循环通过该用户json对象。 假设你有这样一个物体

 myvalues = [{"userone":['srcone','srctwo'],"usertwo":['srcone','srctwo']}]
u像这样迭代它

for (var key in myvalues) {
    var obj = myvalues[key];
    for (var prop in obj) {
        alert("User:"+prop+" Valueone: "+obj[prop][0]+" Valuetwo:"+obj[prop][1]);
   }

}

一种简化问题的方法是,不让每个人都有9张图片,实际上是让每个人都有一张合成图片,而且有各种可能。 在一幅图像中,可能会出现类似的情况(箭头显示了该人应该看的方向):

这使您可以通过CSS更改图像的背景位置(使用由图像大小确定的规则间隔)来改变方向。 它还有一个好处,就是可以同时加载一个面的所有可能性,而不是在面发生变化时加载(这可能会导致图像闪烁或需要预加载)

然后,您必须计算每个面使用哪个图像,这取决于它与选定面之间的相对位置。 这是坐标之间的算术比较问题

因此,如果您对选定的面迭代所有面,那么如果当前的Y高于选定的Y,那么它将是前三个“子图像”之一,然后您将比较X,看看它是否小于、等于或大于,以确定这三个图像中的哪一个。 这同样适用于所有三行可能的面。
最终,它归结为比较Y和X的较小、相等或较大值。通过这种方式,您可以计算背景位置中X和Y的偏移量。

一种简化问题的方法是,不需要每个人都有9张图像,而实际上每个人都有一张合成图像,这是所有可能的。 在一幅图像中,可能会出现类似的情况(箭头显示了该人应该看的方向):

这使您可以通过CSS更改图像的背景位置(使用由图像大小确定的规则间隔)来改变方向。 它还有一个好处,就是可以同时加载一个面的所有可能性,而不是在面发生变化时加载(这可能会导致图像闪烁或需要预加载)

然后,您必须计算每个面使用哪个图像,这取决于它与选定面之间的相对位置。 这是坐标之间的算术比较问题

因此,如果您对选定的面迭代所有面,那么如果当前的Y高于选定的Y,那么它将是前三个“子图像”之一,然后您将比较X,看看它是否小于、等于或大于,以确定这三个图像中的哪一个。 这同样适用于所有三行可能的面。
最终,它归结为比较Y和X的较小、相等或较大值。这样,您就可以计算背景位置中X和Y的偏移量。

对于初学者,您可以看到该站点的实现。。查看源。@KseniaMurach用一个示例编辑我的文章,以启动u。他们是否应该跟随鼠标或查看“悬停选定”的图像(当鼠标位于两个图像之间时会发生什么情况)?你能给我们看一下从列表中生成网格的CSS吗(单元格有固定的比率吗)?它们不跟随鼠标,只看“悬停选定”的图像。当鼠标位于两个图像之间时,不会发生任何事情。所有列表元素都有固定的宽度和高度。@KseniaMurach使用工作示例和fiddle进行了更新。对于初学者,您可以看到该站点的实现。。查看源。@KseniaMurach用一个示例编辑我的文章,以启动u。他们是否应该跟随鼠标或查看“悬停选定”的图像(当鼠标位于两个图像之间时会发生什么情况)?你能给我们看一下从列表中生成网格的CSS吗(单元格有固定的比率吗)?它们不跟随鼠标,只看“悬停选定”的图像。当鼠标位于两个图像之间时,不会发生任何事情。所有列表元素都有固定的宽度和高度。@KseniaMurach使用工作样本和小提琴更新