首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当悬停菜单( Jquery )时如何更改.body的背景色?

当悬停菜单( Jquery )时如何更改.body的背景色?
EN

Stack Overflow用户
提问于 2014-08-29 08:23:38
回答 2查看 1.5K关注 0票数 0

我在我的shopify网站上放了一个超级游戏,

然而,我想让我的网站背景颜色淡入当我悬停菜单..。获得与本网站完全相同的结果:

http://www.johnlewis.com/

我尝试添加这个函数:

代码语言:javascript
运行
AI代码解释
复制
$(function(){
 $('.dc-mega').hover(function(){$('html').css('background-color','#676767') } );
});

但没有成功..。。

以下是我的megamenu (Js文件)的完整jquery代码。如果有帮助的话..。。非常感谢,非常感谢!

/* * DC超级菜单- jQuery超级菜单*版权(c) 2011设计化学* */ (功能($){

代码语言:javascript
运行
AI代码解释
复制
//define the defaults for the plugin and how to call it 
$.fn.dcMegaMenu = function(options){
    //set default options  
    var defaults = {
        classParent: 'dc-mega',
        classContainer: 'sub-container',
        classSubParent: 'mega-hdr',
        classSubLink: 'mega-hdr',
        classWidget: 'dc-extra',
        rowItems: 5,
        speed: 'fast',
        effect: 'fade',
        event: 'hover',
        fullWidth: false,
        onLoad : function(){},
        beforeOpen : function(){},
        beforeClose: function(){}
    };

    //call in the default otions
    var options = $.extend(defaults, options);
    var $dcMegaMenuObj = this;

    //act upon the element that is passed into the design    
    return $dcMegaMenuObj.each(function(options){

        var clSubParent = defaults.classSubParent;
        var clSubLink = defaults.classSubLink;
        var clParent = defaults.classParent;
        var clContainer = defaults.classContainer;
        var clWidget = defaults.classWidget;

        megaSetup();

        function megaOver(){
            var subNav = $('.sub',this);
            $(this).addClass('mega-hover');
            if(defaults.effect == 'fade'){
                $(subNav).fadeIn(defaults.speed);
            }
            if(defaults.effect == 'slide'){
                $(subNav).show(defaults.speed);
            }
            // beforeOpen callback;
            defaults.beforeOpen.call(this);
        }
        function megaAction(obj){
            var subNav = $('.sub',obj);
            $(obj).addClass('mega-hover');
            if(defaults.effect == 'fade'){
                $(subNav).fadeIn(defaults.speed);
            }
            if(defaults.effect == 'slide'){
                $(subNav).show(defaults.speed);
            }
            // beforeOpen callback;
            defaults.beforeOpen.call(this);
        }
        function megaOut(){
            var subNav = $('.sub',this);
            $(this).removeClass('mega-hover');
            $(subNav).hide();
            // beforeClose callback;
            defaults.beforeClose.call(this);
        }
        function megaActionClose(obj){
            var subNav = $('.sub',obj);
            $(obj).removeClass('mega-hover');
            $(subNav).hide();
            // beforeClose callback;
            defaults.beforeClose.call(this);
        }
        function megaReset(){
            $('li',$dcMegaMenuObj).removeClass('mega-hover');
            $('.sub',$dcMegaMenuObj).hide();
        }

        function megaSetup(){
            $arrow = '<span class="dc-mega-icon"></span>';
            var clParentLi = clParent+'-li';
            var menuWidth = $dcMegaMenuObj.outerWidth();
            $('> li',$dcMegaMenuObj).each(function(){
                //Set Width of sub
                var $mainSub = $('> ul',this);
                var $primaryLink = $('> a',this);
                if($mainSub.length){
                    $primaryLink.addClass(clParent).append($arrow);
                    $mainSub.addClass('sub').wrap('<div class="'+clContainer+'" />');

                    var pos = $(this).position();
                    pl = pos.left;

                    if($('ul',$mainSub).length){
                        $(this).addClass(clParentLi);
                        $('.'+clContainer,this).addClass('mega');
                        $('> li',$mainSub).each(function(){
                            if(!$(this).hasClass(clWidget)){
                                $(this).addClass('mega-unit');
                                if($('> ul',this).length){
                                    $(this).addClass(clSubParent);
                                    $('> a',this).addClass(clSubParent+'-a');
                                } else {
                                    $(this).addClass(clSubLink);
                                    $('> a',this).addClass(clSubLink+'-a');
                                }
                            }
                        });

                        // Create Rows
                        var hdrs = $('.mega-unit',this);
                        rowSize = parseInt(defaults.rowItems);
                        for(var i = 0; i < hdrs.length; i+=rowSize){
                            hdrs.slice(i, i+rowSize).wrapAll('<div class="row" />');
                        }

                        // Get Sub Dimensions & Set Row Height
                        $mainSub.show();

                        // Get Position of Parent Item
                        var pw = $(this).width();
                        var pr = pl + pw;

                        // Check available right margin
                        var mr = menuWidth - pr;

                        // // Calc Width of Sub Menu
                        var subw = $mainSub.outerWidth();
                        var totw = $mainSub.parent('.'+clContainer).outerWidth();
                        var cpad = totw - subw;

                        if(defaults.fullWidth == true){
                            var fw = menuWidth - cpad;
                            $mainSub.parent('.'+clContainer).css({width: fw+'px'});
                            $dcMegaMenuObj.addClass('full-width');
                        }
                        var iw = $('.mega-unit',$mainSub).outerWidth(true);
                        var rowItems = $('.row:eq(0) .mega-unit',$mainSub).length;
                        var inneriw = iw * rowItems;
                        var totiw = inneriw + cpad;

                        // Set mega header height
                        $('.row',this).each(function(){
                            $('.mega-unit:last',this).addClass('last');
                            var maxValue = undefined;
                            $('.mega-unit > a',this).each(function(){
                                var val = parseInt($(this).height());
                                if (maxValue === undefined || maxValue < val){
                                    maxValue = val;
                                }
                            });
                            $('.mega-unit > a',this).css('height',maxValue+'px');
                            $(this).css('width',inneriw+'px');
                        });

                        // Calc Required Left Margin incl additional required for right align

                        if(defaults.fullWidth == true){
                            params = {left: 0};
                        } else {

                            var ml = mr < ml ? ml + ml - mr : (totiw - pw)/2;
                            var subLeft = pl - ml;

                            // If Left Position Is Negative Set To Left Margin
                            var params = {left: pl+'px', marginLeft: -ml+'px'};

                            if(subLeft < 0){
                                params = {left: 0};
                            }else if(mr < ml){
                                params = {right: 0};
                            }
                        }
                        $('.'+clContainer,this).css(params);

                        // Calculate Row Height
                        $('.row',$mainSub).each(function(){
                            var rh = $(this).height();
                            $('.mega-unit',this).css({height: rh+'px'});
                            $(this).parent('.row').css({height: rh+'px'});
                        });
                        $mainSub.hide();

                    } else {
                        $('.'+clContainer,this).addClass('non-mega').css('left',pl+'px');
                    }
                }
            });
            // Set position of mega dropdown to bottom of main menu
            var menuHeight = $('> li > a',$dcMegaMenuObj).outerHeight(true);
            $('.'+clContainer,$dcMegaMenuObj).css({top: menuHeight+'px'}).css('z-index','1000');

            if(defaults.event == 'hover'){
                // HoverIntent Configuration
                var config = {
                    sensitivity: 2,
                    interval: 100,
                    over: megaOver,
                    timeout: 0,
                    out: megaOut
                };
                $('li',$dcMegaMenuObj).hoverIntent(config);
            }

            if(defaults.event == 'click'){

                $('body').mouseup(function(e){
                    if(!$(e.target).parents('.mega-hover').length){
                        megaReset();
                    }
                });

                $('> li > a.'+clParent,$dcMegaMenuObj).click(function(e){
                    var $parentLi = $(this).parent();
                    if($parentLi.hasClass('mega-hover')){
                        megaActionClose($parentLi);
                    } else {
                        megaAction($parentLi);
                    }
                    e.preventDefault();
                });
            }

            // onLoad callback;
            defaults.onLoad.call(this);
        }
    });
};
 })(jQuery);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-04 12:10:54

您可以使用来自.mouseover()库的jQuery效果(检查这里)

我创建了一个与您想要实现的效果类似的示例JSFiddle:JSFiddle

解释:除了菜单栏之外, Div bg是所有其他东西的上方。这只是一个半透明的黑色div模仿灰色的背负式。默认情况下,它不会显示,但是当您悬停菜单栏时,它就会出现。菜单在这个div下面,所以它通常是可见的。菜单也会发生变化,以显示更多内容。如果您需要对特定代码部分进行更多的解释,只需在下面的注释中询问即可。

票数 0
EN

Stack Overflow用户

发布于 2014-08-29 08:34:07

它将有助于了解最终的HTML是什么样子。

我猜想背景颜色是以某种方式/覆盖设置在较低的级别上(可能是在身体上?)

另外,.hover接受两个参数,因为第一个参数是鼠标输入回调,第二个参数是鼠标离开回调。您的当前代码只需添加背景色,而从不删除它。

检查API:http://api.jquery.com/hover/

希望这能帮上忙

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25572303

复制
相关文章
OpenCV-Python学习(8)—— OpenCV 颜色表操作
1. 知识点 学习查找表 cv.LUT()【look up table】; 颜色查找表; 函数 cv.applyColorMap() 的使用。 2. cv.LUT() 函数说明 2.1 函数使用 cv.LUT(src, lut, dst) 2.2 参数说明 参数 说明 src 表示原始图像。 lut 表示查找表的地址,对于多通道图像的查找,它可以有一个通道,也可以与原始图像有相同的通道。 dst 表示输出图像。 2.3 查找表的使用和优点 构建查找表; 查找表应用; 查找表优势,预计算,空间换时间,避
Rattenking
2022/10/24
2.2K0
OpenCV-Python学习(8)—— OpenCV 颜色表操作
CSS颜色操作案例Demo【彩色标记笔】
案例代码: Html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Colored Markers</title> <link rel="stylesheet" href="styles.css"> </head> <body>
百思不得小赵
2023/01/13
3650
CSS颜色操作案例Demo【彩色标记笔】
如何在 Tableau 中对列进行高亮颜色操作?
在做数据分析时,如果数据量比较大,可以考虑使用颜色对重点关注的数据进行高亮操作,显眼的颜色可以帮助我们快速了解数据和发现问题。比如一个数据表可能会有十几到几十列之多,为了更好的看清某些重要的列,我们可以对表进行如下操作——
小马哥的牛棚
2020/08/20
5.9K0
Python操作excel:用xlwt设置excel单元格背景颜色,给字体加粗。【附】颜色表
xlwt.easyxf() 设置样式,pattern 指的就是背景,ice_blue 就是我设置的颜色。 font 就是设置字体,bold on 是加粗。 样式可以合一起,之间用分号;分开。
小蓝枣
2020/09/23
3.6K0
YIQ颜色空间_简述RGB颜色
1、彩色的三要素 亮度:即人眼对光的明亮程度的感受。 色调:人眼能看到的颜色种类,与光的波长有关 饱和度:颜色深浅程度。与各种颜色混入白光的比例有关。 以上 色调 + 饱和度 = 色度
全栈程序员站长
2022/11/17
2.7K0
YIQ颜色空间_简述RGB颜色
Python操作高版本Excel文件:颜色、边框、合并单元格
本文主要颜色Python扩展库openpyxl的一些基本用法,包括创建工作簿、选择活动工作表、写入单元格数据,设置单元格字体颜色、边框样式,合并单元格等等。 from random import randint, choice from openpyxl import Workbook from openpyxl.styles import Font, colors, Border, Side from openpyxl.drawing.image import Image #创建工作簿 wb = Work
Python小屋屋主
2018/04/16
4.3K0
Python操作高版本Excel文件:颜色、边框、合并单元格
04.HTML区块/布局/表单/框架/颜色/颜色名/颜色值
04.HTML区块/布局/表单/ 框架/颜色/颜色名/颜色值 HTML <div> 和<span> ---- HTML 可以通过 <div> 和 <span>将元素组合起来。 ---- HTML 区块元素 大多数 HTML 元素被定义为块级元素或内联元素。 块级元素在浏览器显示时,通常会以新行来开始(和结束)。 实例: <h1>, <p>, <ul>, <table> ---- HTML 内联元素 内联元素在显示时通常不会以新行开始。 实例: <b>, <td>, <a>, <img> ---- HTML
Java帮帮
2018/03/15
6.7K0
04.HTML区块/布局/表单/框架/颜色/颜色名/颜色值
颜色空间
算法:RGB颜色空间基于三维直角坐标系,而HSI颜色空间圆柱体的横截面称为色环,色环清晰地展示了色调H和饱和度S两个参数,亮度I是由颜色点到圆柱体底部的距离表示。
裴来凡
2022/05/28
1.1K0
颜色空间
颜色直方图
算法:颜色直方图是在许多图像检索系统中被广泛采用的颜色特征。它所描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,即无法描述图像中的对象或物体。颜色直方图特别适于描述那些难以进行自动分割的图像。
裴来凡
2022/05/28
1.5K0
颜色直方图
颜色转换,利用HSV颜色空间检测
绘制出这些通道的灰度版本 以便观察各通道的强度,像素越亮 代表的红色、绿色或蓝色值就越高。我们可以看到 粉色气球的红色值很高 蓝色值也相对比较高,但值大小不一 特别是当气球位于阴影下的时候。
小飞侠xp
2018/08/28
1.3K0
颜色、网页颜色与网页安全色
我们所看到的屏幕上所有的颜色都是由红、绿、蓝这三种基色调混合而成的。(在印刷上,颜色是四种颜色合成的,这个是表示方式上的不同。)每一种颜色的饱和度和透明度都是可以变化的,用0~255的数值来表示。如纯红色表示为(255,0,0),十六进制表示为#FF0000。按这种表达方式,理论上我们可以得到256*256*256=16777216种颜色。
大江小浪
2018/07/25
3.6K0
颜色、网页颜色与网页安全色
颜色原理
色相是用来区别区别颜色的标志,是光由于波长、频率的不同而产生的性质。色相是在光谱上自然分割的结果。
hotarugali
2022/03/01
2.2K0
颜色原理
颜色空间
RGB 立方体(描述各个分量的变化导致的颜色变化趋势) YUV 平面(压缩数据) HSV 锥体(人体视觉,cv2::inrange函数颜色分割)
sofu456
2019/08/26
2K0
颜色空间
SAP abap ALV的列颜色、、行颜色、单元格颜色设置
matinal
2023/10/13
4730
颜色滤镜
我们手机上有很多照片处理软件,图片滤镜是里面不可或缺的一部分,我们可以先尝试一些很简单的滤镜的算法,管中窥豹地去认识一下色彩的处理
异名
2020/06/09
2.2K0
颜色传输
由于目前图像采用的颜色空间主要为 RGB 空间,但 RGB 颜色空间的各分量之间存在着相关性,这就意味着如果改变一个像素颜色外观的话,必须改变所有的颜色通道,这使得颜色更改过程变得极为复杂。而后 Ruderman 等人基于人类视觉对图像数据的感知研究,提出了lαβ 颜色空间,与 RGB 及其他颜色空间不同的是在 lαβ 颜色空间中通道间数据的相关性最小,从而可在不同的通道独立地进行统计信息的传递。
客怎眠qvq
2022/11/01
8610
颜色传输
点击加载更多

相似问题

Eclipse Juno中的Android SDK Content Loader错误

21

Eclipse挂在Android SDK内容加载器上

17171

Android SDK Content Loader因NullPointerException而失败

223

Eclipse : Android SDK

11

android eclipse sdk位置

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文