javascript - 如何使用javascript onClick链接更改背景图像

标签 javascript jquery html css background-image

我希望背景图像随着 html 链接标记上的 onclick 属性而改变。但它不起作用。

<ul>
    <li><a href="index.php?page=Home" onclick="one();">Home</a> </li>
    <li><a href="index.php?page=Achivement" onclick="two();">Achivement</a></li>

    <li><a href="index.php?page=Career" onclick="three();">Career</a></li>
    <li><a href="index.php?page=Message" onclick="four();">Message</a></li>
    <li><a href="index.php?page=opportunity">opportunity</a></li>
    <li><a href="upload1.php">Register</a>
    <li></li>
 </ul>
  <script type="text/javascript">
  function one(){

 $('body').css('background-image','url(image/back1.jpg)');

}
function two(){

   $('body').css('background-image','url(image/back2.jpg)');

}
function three(){


}
function four(){


}  </script>

如您所见,我尝试在 onclick 属性上传递一个函数,并且我已经在底部定义了这些函数,但背景图像仍然不会改变。我已经检查了图像所在的目录,它们是正确的。而且我还没有在我的 css 上定义任何背景图像。我需要帮助,这让我发疯。

最佳答案

几件事:

  1. 您需要包含 jQuery 库(如果您还没有的话)
  2. 您需要阻止默认操作,因为它是一个链接
  3. 您需要对其进行功能化以供重用。

例子:

<script type="text/javascript">
    $(function(){
        $('a').on('click',function(e){
            var href = this.href.split('='),
                img;

            // prevents following to the link location
            e.preventDefault();

            // determines which background image
            switch(href[1]){
                case 'Home':
                   img = 'back1.jpg';
                   break; 
                case 'Achievement':
                   img = 'back2.jpg';
                   break;
                case 'Career':
                   img = 'back3.jpg';
                   break;
                case 'Message':
                   img = 'back4.jpg';
                   break;
                case 'Opportunity':
                   img = 'back5.jpg';
                   break;
            }

            // assigns background-image
            $('body').css({backgroundImage:'url(image/'+img+')'});
        });
    });
</script>

这将允许大量重用,并消除对内联 onclick= 声明的需要。

关于javascript - 如何使用javascript onClick链接更改背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21094583/

相关文章:

javascript - 尝试创建交互式汉堡菜单

html - 将多张不同尺寸的图片排成固定宽度并调整高度

JavaScript:算术运算失败

javascript - 单选按钮组聚焦时如何禁用 FormLabel 的原色?

php - 使用来自 ajax 请求的原始数据作为背景图像

javascript - 是否可以在选择器中进行 trim ?

javascript - Node.js:对于每个……不工作

javascript - 如何在 solid gauge (highcharts) 中正确设置 y 轴?

jquery - 如何从application_error返回AJAX错误函数?

javascript - 如何在行表中查找div元素并返回值?