小编Nie*_*sol的帖子

获取文本节点的宽度

一些(JS 修改的)HTML 可能如下所示:

<div style="width: 50px;">1,234,567</div>
Run Code Online (Sandbox Code Playgroud)

如何检测文本节点是否比容器宽?

javascript width

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

JavaScript中的"可绑定"变量?

根据我在Flex中的经验,我学习了Bindable变量,例如,文本元素的内容随着变量的值而变化.

我想知道是否有可能在JavaScript中做这样的事情.例如,假设我有一个<h1 id="big_title">我想要包含文档标题的内容.这可以很容易地完成document.getElementById('big_title').innerHTML = document.title;,但如果document.title改变怎么办?我也必须手动更新big_title.

放置它的另一种方法是,有没有办法onchange在变量而不是DOM元素上创建类似于自定义的事件处理程序?此处理程序可以根据需要更新标题.

编辑:我知道我可以使用a setInterval来检查变量"绑定"(在数组中定义)并根据需要进行更新,但这有点像hack-ish并且需要在响应性和对性能的影响之间进行折衷.

javascript data-binding

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

AJAX返回异常状态代码

所以我终于再次尝试了AJAX(而不是隐藏的iframe),我现在还记得为什么我一开始就非常讨厌AJAX.

这是一个简单的脚本,可以向服务器查询用户收到的私人消息的数量.服务器以单个数字响应,脚本更新指示器并设置超时五秒钟以再次查询.

在极少数情况下(通常当我去AFK一段时间),我开始获得最奇怪的HTTP状态代码.

在Chrome上:"AJAX请求无法检索/ajax/network.php,HTTP状态0"
在IE上:"AJAX请求无法检索/ajax/network.php,HTTP状态12029"

这些代码都不是有效的.这里发生了什么,我怎么能阻止它发生?

javascript ajax http-status-codes

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

JS专用鼠标按键

我的鼠标侧面有两个按钮,其默认行为是“后退”和“前进”。

我想知道的是是否可以在 JavaScript 中检测这些鼠标按钮的点击,或者这些按钮是否是类似于键盘的“播放”、“音量调高”和“无线开/关”的“特殊”按钮纽扣。

javascript mouse mouseevent

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

location.reload with cache

如果您对此问题有更好的标题,请随时编辑.

在最长的时间里,我总是习惯location.reload()重新加载页面 - 这是最合乎逻辑的事情,对吧?

但我最近注意到它并不等同于我最初想过的F5,而是更多的Ctrl + F5.当我想要做的只是重新加载页面时,所有图像和其他链接文件都是从服务器重新请求的.

我发现我可以使用location.replace(location.href),这似乎达到了我想要的效果:重新加载页面,但从缓存中检索链接的文件.

这是理想的吗?有比这更好的方法吗?我忽略了这种方法可能存在的任何陷阱吗?

(注意:我已经对链接文件(如脚本)进行了缓存管理,方法是将其filemtime作为查询字符串附加)

javascript caching reload

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

强制绝对定位的元素继承透明度

当给定元素时,元素的opacity所有静态和相对子元素都以部分透明度呈现.但是,具有position: absolute(或position: fixed)的元素不会继承此元素,而是以完全不透明度呈现,除非另有说明.

现在,我可以style.opacity通过调用执行赋值的函数来替换赋值,然后循环遍历所有子节点,获取它们的计算样式,并查看它们的位置属性是否保证添加自己的style.opacity...但这有点像核武器.

我也知道我可以添加opacity: inherit适当的元素,但这只有在它们是褪色元素的直接子元素时才有效 - 如果它们是后代呢?

我想知道是否有办法强制元素继承正确的透明度.

旁注:当我使用时filter:alpha(...),IE会以我想要的方式执行,有趣的是.

css opacity

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

白色空间预包装不重新计算

说明问题的小提琴 - 单击按钮几次,框会缩小,显示问题.

此问题似乎只发生在Internet Explorer中.

基本上,当包含的元素white-space: pre-wrap缓慢调整大小时,IE不会重新计算自动换行,导致文本被推送到元素之外.有些重新计算确实会发生,但不是全部.看起来,调整元素的大小越多,实际完成的重新计算就越多.

缩放页面可以解决问题,但显然不是一个实用的解决方案.

当容器的大小发生变化时,如何强制IE重新计算自动换行?

css whitespace internet-explorer word-wrap

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

CSS过渡计数器?

我在页面上有各种进度条。目前,我的栏受 a 影响,transition因此当进度发生变化时,它会平滑地移动到新值。

该栏还包含其进度,以百分比表示。

我面临的“问题”是当条形宽度转换时,显示的数字会从一个值跳到另一个值,所以我想知道 CSS 是否有任何方法可以“转换”数字。

我能想到的唯一解决方案是使用

counter-reset: tmpcounter 50;
content: counter(tmpcounter);
transition: counter-reset 0.5s ease;
Run Code Online (Sandbox Code Playgroud)

当然,这行不通。即使这样做了,它也只适用于伪元素,因此当值发生变化时,我无法用 JavaScript 修改它。

我是否遗漏了什么,还是不值得为此担心?

css css-transitions

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

如果同一元素的多个类定义了:before伪元素,会发生什么?

我正在使用:before符号来标记用户个人资料的链接以表征用户,例如"管理员","非活动用户","新手"等.

问题是,可以申请不止一个.

那么,如果链接上的多个类定义了一个:before伪元素,会发生content什么?最具体的选择器是否覆盖第一个?或者他们都按顺序出现?无论发生什么,它都是可靠的行为吗?

css css-selectors pseudo-element

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

带变量的SVG过滤器?

我有一个像这样实现的SVG发光过滤器:

<filter id="outline">
    <feMorphology in="SourceAlpha" operator="dilate" radius="2"></feMorphology>
    <feGaussianBlur stdDeviation="1" result="dilated"></feGaussianBlur>
    <feFlood style="flood-color: #RRGGBB"></feFlood>
    <feComposite in2="dilated" operator="in"></feComposite>
    <feMerge>
        <feMergeNode></feMergeNode>
        <feMergeNode in="SourceGraphic"></feMergeNode>
    </feMerge>
</filter>
Run Code Online (Sandbox Code Playgroud)

这很好用,但仅适用于一种特定的发光颜色。

我希望能够具有任意发光颜色,以某种方式将变量传递给flood-color属性。

我曾尝试使用currentColor,但这似乎是定义过滤器时的颜色,而不是应用时的颜色。

可以为每种颜色定义一个过滤器(它们的数量有限),但只需要定义一次会更好——当然也更节省空间。这是可能的,如果可以,如何?

html css svg svg-filters

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