当某个div显示时,更改div的背景颜色

时间:2016-02-13 01:45:39

标签: javascript jquery html css

我有一个Twitter帖子,Facebook帖子和LinkedIn帖子有三个div,这些组成了旋转木马。

然后在另一个名为#social-media-feeds的div中。

我想知道是否可以根据轮播中显示的div来更改#social-media-feeds的背景颜色。

所以当twitter div显示我希望#social-media-feeds的背景颜色为#00aced时,当facebook div显示我希望背景颜色为#3b5998时,以及当div div显示我时希望背景颜色为#007bb5。

如果可以的话,我真的很感激。谢谢!

1 个答案:

答案 0 :(得分:0)

这是非常形成的代码,但它有效。我不能假装知道你的代码是什么样的,所以我希望这会有所帮助:

<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            html, body {
                height: 100%;
                padding: 0px;
            }
            #social-media-feeds {
                display: inline-block;
                height: 100%;
                width: 100%;
            }
            .post {
                display: none;
            }
            #leftButton {
                position: absolute;
                top: 50%;
                left: 0%;
                height: 30px;
                width: 60px;
                text-align: right;
                background-color: gray;
                cursor: pointer;
            }
            #rightButton {
                position: absolute;
                top: 50%;
                right: 0%;
                height: 30px;
                width: 60px;
                background-color: gray;
                cursor: pointer;
            }
        </style>
    </head>
    <body>
        <div id="leftButton"><</div>
        <div id="rightButton">></div>
        <div id="social-media-feeds">
            <div id="facebook" class="post">Facebook</div>
            <div id="twitter" class="post">Twitter</div>
            <div id="linkedIn" class="post">LinkedIn</div>
        </div>
        <script>
            var socialMediaFeedsDiv = document.getElementById('social-media-feeds');
            var backgroundColors = ["#3b5998", "#00aced", "#007bb5"];
            var posts = document.getElementsByClassName('post');
            var index = 0;
            posts[index].style.display = 'inline-block';
            socialMediaFeedsDiv.style.backgroundColor = backgroundColors[index];    
            var leftButton = document.getElementById('leftButton');
            leftButton.addEventListener('click', function() {
                posts[index].style.display = 'none';
                index--;
                if (index < 0) {
                    index = posts.length - 1;
                }
                posts[index].style.display = 'inline-block';
                socialMediaFeedsDiv.style.backgroundColor = backgroundColors[index];
            });
            var rightButton = document.getElementById('rightButton');
            rightButton.addEventListener('click', function() {
                posts[index].style.display = 'none';
                index++;
                if (index > (posts.length - 1)) {
                    index = 0;
                }
                posts[index].style.display = 'inline-block';
                socialMediaFeedsDiv.style.backgroundColor = backgroundColors[index];
            });
        </script>
    </body>
</html>