jquery切换背景?

问题描述:

DKKjquery切换背景?

“ID =”第二广播电台“ 值=‘75’>

我有一串由while循环,所以我想实现这个生成的这些DIV进入/:里面的时候进入输入点击我想要入口div的背景图像进行更改,但是如果我在另一个入口div中选择另一个无线电广播,我想先前的所有更改(例如之前的背景更改)消失并更改当前div的背景..此处是我试图做的也许你可以帮忙..这里是jquery下面

$("input").click(function() { 

      $(this).parent("div").toggle(function() { 
      $(this).parent("div").css("background", "url(images/div_bg_hover.png)"); 
      }, function() { 
      $(this).parent("div").css("background", "url(images/div_bg.png)"); 

      }); 

东西有问题..我的意思是代码安装工作在任何地方..任何人都可以帮助我吗?谢谢


我都试过这样:

$("input").click(function() { 
       $("input").each(function() { 
        if (this.checked) { 
         $(this).parent("div").addClass("highlight"); 
        } 
        else { 
         $(this).parent("div").removeClass("highlight"); 
        } 
       }); 
      }); 

$("input").click(function() { 
       $("input").each(function() { 
        if (this.checked) { 
         $(this).parent("div").css("background", "url(images/div_bg_hover.png)"); 
        } 
        else { 
         $(this).parent("div").css("background", "url(images/div_bg.png)"); 
        } 
       }); 
      }); 

由于某种原因,它不工作不改变的背景下,也许它做一些事情用上面的代码是完整的脚本:

<script type="text/javascript"> 

     $(document).ready(function() { 

      $(".left_navigation a:last").toggleClass('bolder'); 


      $("input").each(function() { 
       var element_value = $(this).val(); 
       $(this).prev("p").append(" " + element_value + ",-"); 
      }); 


      $("input").click(function() { 
       $("input").each(function() { 
        if (this.checked) { 
         $(this).parent("div").addClass("highlight"); 
        } 
        else { 
         $(this).parent("div").removeClass("highlight"); 
        } 
       }); 
      }); 




     }); 

</script> 

我看到的第一个直接问题是,你的jQuery在它的结尾处缺少一个});,除非你忘记粘贴它。这将阻止它做任何事情,除了抛出一个错误...

这是你以前试过的简化版本。它至少可以使调试更容易一些。

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("input").click(function() { 
     $("input").parent("div").removeClass("highlight"); 
     $(this).parent("div").addClass("highlight"); 
     }); 
    }); 
</script> 

虽然,我看不出有什么明显的错误你尝试过什么之前,这使我怀疑$("input")是匹配什么,你认为它是。我可能至少会提醒您点击功能中的某些内容以进行理智检查。其实我已经发现了几次,在我以前的想法我输入的准备,因为我的框架,它即我$(document).ready被解雇......

+0

不存在缺少'});'和背景是一个完美有效的快捷方式 – 2009-09-09 18:22:01

+0

第一组javascript缺少});可能不是问题。只是没有粘贴。爱德华多是正确的背景,虽然,这是一个有效的CSS速记,所以我编辑它... – 2009-09-09 19:35:04

+0

这个作品谢谢你,并感谢你的答复! – ant 2009-09-09 20:22:50

您可能需要使用“背景图像”而不是“背景”来设置图像。

编辑:以为我以前在jQuery中遇到过'background'css属性的问题,但是刚刚在各种浏览器上测试过,似乎我错了,或者因为使用jQuery版本而被修复。

+0

这不是问题所在。背景是一个完全有效的快捷方式 – 2009-09-09 18:21:07

有几个问题:您正在使用Toggle

  • 和切换功能是:

如果它们被示出,切换使得它们 隐藏(使用隐藏方法)。如果 它们被隐藏,则切换使它们显示 (使用show方法)。

你应该问,如果无线电检查

  • 你应该调用各项功能,以改变其它无线电格值

  • 你应该调用$(document).ready()功能

示例(警告:Javascript不是我最好的武器):

<script> 
$(document).ready(function(){ 
    $("input").click(function() { 
     $("input").each(function() { 
      if (this.checked) { 
       $(this).parent("div").css("background-color", "green") } 
      else { 
       $(this).parent("div").css("background-color", "red")} 
      }); 
     }); 
    }); 
</script> 

注:我用backgound色更好的测试,但你的背景的使用是不错的。