【问题标题】:change image based on jquery ui slider基于 jquery ui 滑块更改图像
【发布时间】:2013-03-05 19:23:56
【问题描述】:

我想根据滑块值更改滑块 div 内元素的背景图像。图像位于 eclipse 的资源文件夹中...

我有一个名为 character 的 CSS 类,在该类中我有一个 background-image 规则,我想在滑块值更改时更改它。

目前,当我滑动滑块时,所有character 元素的背景图像都会发生变化。这不是我想要的行为。我希望每个 character 元素的背景图像仅在其环绕滑块更改时更改。

这是我目前的代码:

<script>
    $(function() {
        $( ".<%=i%>" ).slider({
            disabled:false,
            animate:"slow",
            range: "min",
            value:6,
            min: 0,
            max: 10,
            step: 1,
            slide: function( event, ui ) {
                $( "#<%=i%>" ).val(  ui.value );
                $( "#hidden<%=i%>" ).val( ui.value );
            }
        });
        $( "#<%=i%>" ).val(  $( ".<%=i%>" ).slider( "value" ) );
        $( "#hidden<%=i%>" ).val(  $( ".<%=i%>" ).slider( "value" ) );
    });
</script>
<script>
    if($( "#hidden<%=i%>" ).val( ui.value )==6)
    {       
        $('.character', this).css("background-image", "url(../images/characters/1.png)");
    }
</script>

有人看到我做错了吗?

【问题讨论】:

  • 有什么问题?
  • 首先图像没有改变,其次如果我改变类的图像,那么与每个滑块关联的图像都会改变
  • 我只想更改值发生变化的滑块的图像

标签: jquery html css


【解决方案1】:

问题是你改变背景的代码放错了地方,语法也不正确。

您需要将触发器放在与元素相关联的事件中。现在在您的脚本中,当您尝试更改背景图像时,它正在查看文档。因此this 作为上下文是文档,所有character 元素都将被选中。

如果你这样做了:

$(".<%=i%>").slider({
    disabled: false,
    animate: "slow",
    range: "min",
    value: 6,
    min: 0,
    max: 10,
    step: 1,
    slide: function (event, ui) {
        $("#<%=i%>").val(ui.value);
        $("#hidden<%=i%>").val(ui.value);
    },
    change: function(event, ui){
        if(ui.value == 6){
            $('.character', this).css("background-image", "url(../images/characters/1.png)");
        }else{
            $('.character', this).css("background-image", "{some other/default image}");
        }
    }
});

那么this 上下文实际上就是sllider div。

Here is an example where I changed the background color instead of an image

【讨论】:

  • 非常感谢您的回答......现在它正在检测哪个滑块值正在发生变化,并且它正在进入如果部分但在我的代码中没有改变颜色或图像可能是什么原因?
  • 我只是在猜测您的 html,但是您的 character 元素在 DOM 树中的什么位置?它们是否包含在滑块 div 中?还是在他们之外?
猜你喜欢
  • 1970-01-01
  • 2011-05-24
  • 1970-01-01
  • 1970-01-01
  • 2014-08-20
  • 1970-01-01
  • 2012-10-19
  • 2014-02-10
  • 2010-11-15
相关资源
最近更新 更多