javascript - jQuery CSS 无法在移动设备上正确触发

标签 javascript jquery html css cordova

我在移动 Cordova 上遇到问题,它有一个非常简单的功能,首先为元素设置宽度/高度,然后它在元素内的跨度上工作(大文本插件 - 尽管与此插件无关)

<script type="text/javascript">
    $(".blockstart").each(function () {
        $(this).css({
            "width": blockwidth,
            "height": blockwidth
        });
        alert("css change");
    });
    $(".blockstart").find("span").bigText();
</script>

发生了什么:

  1. 每个 blockstart 元素的 Css 警报(尽管页面上没有可见的变化)。

  2. 工作已在 span 元素上完成但不正确,因为父元素没有设置 with/height。

  3. 只有现在父级 (blockstart) 的宽度/高度发生变化。

这只发生在移动设备上。这让我发疯,有什么建议吗?


我什至尝试过以下功能,但不是一直有效(在移动设备上)。

          function runbigtext(div) {
              var initbigtext = setInterval(function() {
                  if ($("" + div + "[style*='height']").length == $(div).length) {
                      clearInterval(initbigtext);
                      $(div).find("span").bigText();
                  }
              }, 50);
          }
          runbigtext(".blockstart");

这有时有效,有时无效(要正常工作,div.blockstart 应该设置宽度和高度,并在具有这些尺寸的页面中可见。bigtext 函数通过使内部的 span 文本元素适合父分区的大小)。这只发生在移动设备上。

我无法解释发生了什么。

最佳答案

删除警报,您可以改用控制台, 并在每个循环中调用函数传递 $this 作为参数,因此如果由于渲染缓慢,异步过程不会与 this 重叠

只需在每个循环中调用函数并更改那里的 css,

关于javascript - jQuery CSS 无法在移动设备上正确触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27286812/

相关文章:

php - 验证文本框输入以逗号分隔的 3 位数字

javascript - 为什么 0 === -0 为真,而 1/0 === 1/-0 为假?

jquery - 空白 nowrap 不适用于 div 下面的 div,以及如何获取溢出的实际宽度

jQuery 如何仅显示/隐藏最近的跨度

javascript - 如何将此数据更改为 javascript 对象?

css - td 和高度在 IE 中不能正常工作

javascript - 从选择列表创建自动链接

javascript - JQuery mCustomScrollbar 动态高度

html - CSS多个浮点: left issue

javascript - javascript 模式中的 Ajax 回调