小编Joh*_* P.的帖子

在悬停时为多个项目添加addClass

所以我整天都在研究这个剧本,我见过的所有例子似乎都没有做我想要的.这是我的示例CodePen.尝试将鼠标悬停在"MENUS"和"SETTINGS"上.我会试着用文字来解释这个问题:

剧本:

var activeItem = $("#menu .active");
var items = $("#menu .main:not(.active)");

activeItem.addClass("active-2");

items.hover(function () {
    "use strict";
    activeItem.toggleClass("active-2");
});

$(document).mousemove(function (event) {
    "use strict";
    if ($(".sub-1").css("background-clip").toLowerCase() == "content-box") {
        $(".sub-1").parents(".main").addClass("active-2");
        $(".sub-1").parents(".main").css("background-color", "#CCC");
    } else {
        $(".sub-1").parents(".main").removeClass("active-2");
        $(".sub-1").parents(".main").css("background-color", "");
    }
});
Run Code Online (Sandbox Code Playgroud)

上面的代码给出active-2了活动项的蓝线(类).在这种情况下"家".该items变量计算所有未激活的主菜单项,并用于active-2在其他项目悬停时从"HOME" 切换蓝线().到现在为止还挺好.

问题:

我有子菜单项(深灰色).当鼠标位于这些子菜单项的任何位置时,我想给父主项目蓝线(active-2)直到鼠标离开,然后将蓝线返回到当前活动项目activeItem,在本例中为"HOME".

当只有1个子项目组(如"MENUS"下的那个)时,它可以工作.但当我添加第二个子菜单组(在"设置"下)时,它就破了.我正在寻找一种方法来实现它,所以无论我有多少个子菜单组,当鼠标悬停在子菜单项上activeItem时,主项目的蓝线应该是可见的,当我不再徘徊它时返回.如果您使用检查员删除其中一个ul带有.sub-1"MENUS"或"SETTINGS" 类别的s,它将再次开始工作.

为什么mousemove???

我试图.addClass在.hover和.removeClass在它的回调函数,但没有奏效...也许我只是不这样做是正确的?所以基本上我能想到的实现这种效果的唯一方法是用mousemove,检查被给予子项只有当他们看到毫无意义的CSS属性:

#menu …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

6
推荐指数
1
解决办法
129
查看次数

W3C不再维护多语言标记?

W3C已经结束了对多语言标记的支持.那么我是否必须将我的网站转换为使用常规HTML5而不是XHTML?他们如何放弃这个概念会影响现有网站?我希望有一个完全有效的标记,如果该代码与标准冲突,我将不得不删除它.

html xhtml html5 polyglot-markup

5
推荐指数
1
解决办法
252
查看次数

根据分辨率缩放屏幕上的所有精灵

我决定将我的游戏从窗口模式转移到全屏模式,这是我面临的第一个问题。我正在寻找一种根据屏幕分辨率调整所有精灵大小的方法。我的背景现在在(0, 0)坐标中,但我需要让它和所有精灵以某种固定的纵横比(16:9首选)进行缩放。并将它们调整到背景被拉伸以填充屏幕的那部分。而且不多也不少。

我查看了一些在线教程,但我真的无法理解他们使用的概念。你能解释一下你会怎么做吗?我使用 a 读取RenderTarget2D并将其传递给spriteBatch.Begin()调用,具有某种效果,但必须有更多代码。

我不是要支持分辨率更改选项,而是要使精灵适应当前分辨率。

c# fullscreen scale screen-resolution monogame

3
推荐指数
1
解决办法
3851
查看次数

PHP - html_entity_decode 到整个数组

我正在获取 JSON 数据以在我的网站中使用,我需要回应它,如下所示:

<?php
    $json = file_get_contents("/lang/translator.php"); // uses preg_replace to remove whitespace/newlines from my actual json file and then echo's it
    $i18n = json_decode($json, true);

    if (htmlentities($_GET['lang'], ENT_QUOTES) == 'en')
    {
        $arr = 'i18n_en';
    }
    else if (htmlentities($_GET['lang'], ENT_QUOTES) == 'ru')
    {
        $arr = 'i18n_ru';
    }
?>
Run Code Online (Sandbox Code Playgroud)

我像这样使用它:

<?php echo $i18n[$arr]['string_key']; ?>
Run Code Online (Sandbox Code Playgroud)

在string_key它的价值无论是英语或俄语翻译我的网站,根据其JSON阵列是成立。

问题:

当我上传包含西里尔字母(俄语)的 JSON 文件时,会发生这种情况:

?????? --> &#1093;&#1086;&#1088;&#1086;&#1096;&#1086;
Run Code Online (Sandbox Code Playgroud)

每个单独的西里尔字符都会被转换为 HTML 实体。所以我发现我可以使用html_entity_decode()到计数器,但是想象一下,耗时它是如何做到这一点的每一个<?php echo $i18n[$arr]['string_key']; ?>电话我在我的代码。没有办法解决吗?我试过传递$i18n给,html_entity_decode()但它需要一个string …

html php arrays json

0
推荐指数
1
解决办法
6009
查看次数