小编Shi*_*tya的帖子

JQuery如果再使用URL解析器插件,必须有一个更优雅的解决方案!

这是我在这个相当狡猾的网站上的第一篇文章,所以如果在其他地方已经讨论过这个问题,我会很容易(如果有的话我找不到它).

我正在使用这里找到的JQuery URL解析器插件:http://projects.allmarkedup.com/jquery_url_parser/

我可以让它做我想要的但是代码效率很低.我有一个隐藏div的集合,在点击相关标题时打开.我正在使用URL解析器,以便如果从另一个页面单击链接,则相关的div是可见的.

我的代码看起来像这样:

if 
(jQuery.url.attr('anchor') == 'question1'){
    $('#answer1').show();
}
else if
(jQuery.url.attr('anchor') == 'question2'){
    $('#answer2').show();
}
else if
(jQuery.url.attr('anchor') == 'question3'){
    $('#answer3').show();
}
else if
(jQuery.url.attr('anchor') == 'question4'){
    $('#answer4').show();
}
else if
(jQuery.url.attr('anchor') == 'question5'){
    $('#answer5').show();
}
else if
(jQuery.url.attr('anchor') == 'question6'){
    $('#answer6').show();
}
else if
(jQuery.url.attr('anchor') == 'question7'){
    $('#answer7').show();
}
else if
(jQuery.url.attr('anchor') == 'question8'){
    $('#answer8').show();
};
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,这是相当漫长的.我真正希望能够做的是获取URL末尾的数字并将其附加到#answer,以便更紧凑.我试图将(jQuery.url.attr('anchor')的结果分配给变量,但是我在完成此任务时遇到了一些麻烦.任何帮助都将不胜感激!

url jquery parsing

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

event.pageX - 在未通过JQuery绑定的函数中使用JQuery事件?

我有一个表,当用户点击每个单元格时,一些细节应出现在用户单击的小弹出框中.我正在使用JQuery,但不是将函数绑定到onclick事件.

function detailPopup(cell, event, groupName, groupID, ...)
{
   var newDiv = document.createElement("div");
   newDiv.id = "detailPop" + groupID;
   newDiv.className = "priceDetailPopup";
   newDiv.innerHTML = "<p>" + groupName + "</p>"; // more will go here
   $(newDiv).click(function()
       {
           $(this).fadeOut("fast").remove();
       }
   );
   $("#main").append(newDiv);
   $(newDiv).css({"left" : event.pageX, "top" : event.pageY}).fadeIn("fast");
}
Run Code Online (Sandbox Code Playgroud)

在FF,Safari和Chrome中,一切都非常出色.在IE中,除了细节div出现在表格下方之外,它都有效.event.pageX/Y不起作用.我知道如果我通过JQuery绑定函数,JQuery将为IE修复这些:

$(cell).click(function(e) { ... e.pageX ... })
Run Code Online (Sandbox Code Playgroud)

但我不能这样做.(我认为我不能 - 如果你这样做,请解释如何在不使用单元格中的非xhtml标签的情况下将六个变量放入该函数中.)

有没有办法让JQuery"修复"事件对象而不通过JQuery绑定函数?$ JQuery.fixEvent(事件); 或者其他的东西?我在他们的网站上找不到任何参考.

提前谢谢了.

javascript jquery events

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

当我使用.show()和.hide()时,Jquery移动按钮变形

当我在jquerymobile中的按钮上使用.hide()时,它会隐藏按钮.当我在其上使用.show()属性时,UI会变形.不知何故.button('refresh')类似于.listview('refresh')不起作用.

我在jsfiddle http://jsfiddle.net/x7Fab/中重新创建了这个bug ...

任何帮助表示赞赏.

谢谢.

jquery jquery-mobile

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

使用没有onClick函数的按钮调用JavaScript/AJAX作为输入名称.可能吗?

得到了下一个HTML代码:

<form name="frm">
   <textarea class="textarea" name="textarea" id="textarea">
     <?php
        foreach ($textarea as $textareashow){
          echo $textareashow."\r\n";
        }?>
   </textarea><br><br>
   <input type="button" name="callbutton" value="Push button" id="execbutton" />
</form>
Run Code Online (Sandbox Code Playgroud)

以及下一个JavaScript代码:

$(document).ready(function () {
  $('#callbutton').click(function () {
     alert("HELLO!!!");
  });
});
Run Code Online (Sandbox Code Playgroud)

我想要的是从他的按钮输入名称调用JavaScript函数.可能吗?从他的输入id?非常感谢你.

javascript ajax jquery

5
推荐指数
3
解决办法
1325
查看次数

jQuery在延迟后添加一个类,然后延迟另一个类

如何在延迟之后添加班级,然后再延迟另一个班级?

我似乎只能添加一个。

$(document).ready(function() {
    $(".websites-container").delay(5000).queue(function() {
            $(this).addClass("active");
    });

    $(".websites-container").delay(8000).queue(function() {
            $(this).addClass("gone")
    });
});
Run Code Online (Sandbox Code Playgroud)

css jquery

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

CSS - 字体在具有更高dpi的设备上显得更大胆

我一直在不同的设备上测试我的网页,文本在具有更高设备像素比率的设备上显得更大(例如,iPhone).我也在Chrome模拟器上对此进行了测试:文本在DPR 1看起来很完美,并且在DPR 2上显得更加大胆.

在DPR 1

在此输入图像描述

在DPR 2

在此输入图像描述

有没有办法来修复或减少效果?任何帮助,将不胜感激.

HTML:

<div class="section" id="section3">
  <h1>Projects</h1>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

/*to fix safari bold font*/
h1, h2, h3, h4, h5, strong, b {
  font-weight: 400;
}

#section4 h1,#section3 h1 {
  visibility: hidden;
  position: absolute;
  font-family: Graphik-Semibold, Roboto;
  font-weight: 600;
  margin: 0;
  top: 3.7%;
}
Run Code Online (Sandbox Code Playgroud)

这是最相关的代码,其余是对齐和媒体查询字体大小.

html css

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

jQuery .val() 没有获取值

let data = $(".language").attr('value');
let data2 = $('.language').val();
let data3 = $('.language').value;
let data4 = $(".language").attr('class');

$("button#test").click(function() {
  console.log(data);
  console.log(data2);
  console.log(data3)
  console.log(data4)
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
  <p class="label">Language</p>
  <input type="text" class="language" name="language" placeholder="">
</div> 
<div class="button-wrapper text-center">
  <button type="button" class="button next" id="test" >Go to step 2</button>
</div>
Run Code Online (Sandbox Code Playgroud)

我正在使用 jQuery 开发这个简单的项目,当调用 val() 函数或调用 attr('value') 时,它会返回未定义的值。但是当attr()使用其他属性调用该函数时,它可以正常工作。

请问我该怎么办

javascript jquery

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

jQuery 切换 [隐藏] 属性 Bootstrap 4

切换新的“Bootstrap 4”[隐藏]-属性的最佳方法是什么。不只是使用“display:block”隐藏和显示元素,而是删除和添加Attribute

<button type="button" hidden class="hideMe btn  btn-sm">Get Video</button> 
<button class="toggle">toggle</button>
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法是这样的:http : //jsfiddle.net/49u2q/123/

$('button.toggle').on('click',function() {
    if ($('button.hideMe ').is('[hidden]')) {
        $('button.hideMe ').removeAttr('hidden');
    } else {
        $('button.hideMe ').attr('hidden','');
    }
});
Run Code Online (Sandbox Code Playgroud)

jquery hidden toggle attr twitter-bootstrap

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

当另一个复选框被选中时取消选中一个复选框

function uncheck() {
  var notTest = document.getElementById("choice_31_3_2");
  var Test = document.getElementById("choice_31_3_1");

  if (notTest.checked) {
    Test.checked = false;
  }
  if (Test.checked) {
    notTest.checked = false;
  }
}

jQuery("#choice_31_3_1").click(uncheck);
jQuery("#choice_31_3_2").click(uncheck);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>    

<input name="input_3.1" value="Test" id="choice_31_3_1" type="checkbox">
<label for="choice_31_3_1" id="label_31_3_1">Test</label>
<input name="input_3.2" value="notTest" id="choice_31_3_2" type="checkbox">
<label for="choice_31_3_2" id="label_31_3_2">notTest</label>
Run Code Online (Sandbox Code Playgroud)

如果选中另一个复选框,我编写了一个函数来取消选中一个复选框,我正在使用 jQuery 在这些特定输入上调用 uncheck()。

我得到了我想要的结果。当我检查 test 然后检查 notTest 时,Test 未被选中。但是当我再次按下测试时,测试复选框拒绝检查,除非我手动取消选中 notTest。

我包含了代码片段,请找出问题所在?

该代码在 Wordpress 上正常运行,但不幸的是不在此处。

javascript wordpress checkbox jquery

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

使用Materialize CSS Select组件,不会使用VueJS 2激活更改事件

我正在尝试制作级联组合框,并遇到问题:VueJS没有看到Materialize select元素的更改事件.这是我的代码:

let app = new Vue({
  el: '#app',
  data: {
    elements: [
      {'id' : 1, 'text' : 'Option 1'},
      {'id' : 2, 'text' : 'Option 2'}
    ]
  },

  updated() {
    $('select').material_select();
  },

  methods : {
    onChange() {
      alert('Option changed!');
    }  
  }
});

$('select').material_select();
Run Code Online (Sandbox Code Playgroud)
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js"></script>
<script src="https://unpkg.com/vue"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/css/materialize.min.css" rel="stylesheet"/>

<div class="container" id="app">
  <div class="row">
    <div class="input-field col s12 m6">
      <select name='somename' id='somename' @change='onChange()'>
        <option selected="" disabled="" value="">Choose your make</option>
        <option v-for="option in elements" :value="option.id">{{option.text}}</option>
      </select>
      <label>Car …
Run Code Online (Sandbox Code Playgroud)

jquery materialize vue.js

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