我有默认的锚,如果它有一个类subnav,如这个小提琴所示.
我只希望第一次单击禁用此功能,然后我希望恢复正常的锚功能.做这个的最好方式是什么?我尝试了涉及下面代码的东西,但这似乎不起作用?
$(this).unbind(event.preventDefault());
Run Code Online (Sandbox Code Playgroud)
也许像这个伪代码?
if (click count === 0 ) {
event.preventDefault();
}
Run Code Online (Sandbox Code Playgroud)
或者有更好的方法来解决这个问题吗?
我想在Jquery中设置一个全局变量,这样当我单击列表项时,单击的列表项的id将成为变量的值.我有下面的代码也在这个小提琴.
但是我拥有它的方式:当你单击列表项时,正确地将值放入console.log.However然后当我点击demo div时,变量被重置并且未定义.
当我点击demo时,如何获取id的值,当我点击列表项时,它是id的值?
例如:
当我点击aaa时,点击演示框时的值应为id-1
当我点击bbb时,单击演示框时的值应为id-2
<div id="demo"></div>
<ul>
<li id="id-1">aaa</li>
<li id="id-2">bbb</li>
</ul>
<script>
var id;
jQuery(document).on("click", "li", function (event) {
var id =jQuery(this).attr('id') || '';
console.log(id);
$( "#demo" ).show();
});
$(function() {
$("#demo").click(function(e) {
console.log(id);
});
});
</script>
<style>
#demo {
border: 1px solid;
display:none;
height: 100px;
width: 100px;
}
</style>
Run Code Online (Sandbox Code Playgroud) 我有一个数据库,我用于辩论比赛我试图排名积分,看看哪些学校将在学期末的决赛中发挥作用.
我有这个工作如下所示但是我无法绕过ptc字段,它目前返回最多4个小数位,例如0.6667如果他们赢得了3个辩论中的2个.
SELECT t.id,
t.name AS name,
SUM(t.id = d.winnerid) AS w,
SUM(t.id != d.winnerid) AS l,
SUM(t.id = d.winnerid)/(SUM(t.id = d.winnerid)+SUM(t.id != d.winnerid)) AS ptc
FROM debates AS d
JOIN teams AS t ON t.id IN (d.hostid, d.visitid)
WHERE d.visitid != -1
AND d.debatedate < CURDATE()
GROUP BY t.id
ORDER BY ptc DESC
Run Code Online (Sandbox Code Playgroud)
我相信我必须在这里使用十进制(2,2)但是我无法正确使用语法我尝试了一些不同的东西,比如
SUM(t.id = d.winnerid)/(SUM(t.id = d.winnerid)+SUM(t.id != d.winnerid)) AS ptc decimal (2,2)
Run Code Online (Sandbox Code Playgroud)
如果需要,我很乐意提供有关表格的更多信息,但我不认为这是必需的?
我想在我的角度应用程序中记录操作.
如果我无法发布,那么我想将该项目添加到本地存储中的另一个日志,以便下次发布时我也可以尝试添加这些项目.
一旦完成,我想尝试发布当前项目.我还希望有一个(同步)按钮,它可以在不进行操作日志过程的情况下运行整个过程.这样用户就可以尝试发布他们之前无法发布的所有项目.
我想这样接近它.提交
-add项目到本地存储,然后尝试发布.(以便先发布先前的项目)
成功
- 从本地存储中删除项目
出错了
- 将项目保存到本地存储
我是一个公平的方式让这个工作如下所示,但我不知道这是否是最好的方法来解决这个问题.
目前我可以发布有关成功的数据,但不会从本地存储中删除单个项目.
我在一个名为removeName的userService中添加了我在下面的代码中注释掉的内容,因为它当前删除了_nameLog而不是该项的本地存储引用.
但是当您在codepen演示中运行代码时,它每次都会发布每个项目,因为我没有在成功时删除它们?
如何在不删除_namelog的情况下删除成功后的本地存储项(因为这需要保留在ng-repeat中),还是有不同的方式我应该接近这个?
<body ng-app="myApp">
<div ng-controller="MyCtrl">
<input type="text" ng-model="updatedname">
<input type="button" value="Change name" ng-click="changeName(updatedname)"/>
<br/>
Hello, {{name}}!
<ul>
<li ng-repeat="name in nameLog">{{name.value}} - {{name.time}}</li>
</ul>
<input type="button" value="sync" ng-click="syncPosts()"/>
</div>
</body>
<script>
var myApp = angular.module('myApp',[]);
myApp.factory('UserService', ['$window','$http', function($window,$http) {
var _nameLog = [];
var userService = {};
userService.name = "John";
userService.ChangeName = function (value) {
userService.name = value;
};
userService.logName = function (value) …Run Code Online (Sandbox Code Playgroud) 我有以下代码片段(currentUser类在不同的列表项上,具体取决于谁正在查看页面).
<ul>
<li>user 1</li>
<li>user 2</li>
<li class="currentUser">user 3</li>
<li>user 4</li>
</ul>
var curLth = jQuery('.currentUser').index();
console.log(curLth); //outputs 2
Run Code Online (Sandbox Code Playgroud)
我正在处理的网站没有加载jQuery,所以我想知道哪个列表项currentUser没有使用jQuery
我已经NodeList在开发工具中检查了但是没有看到任何我可以用来获得它的东西.
怎么能实现这一目标?
我有一个如下所示的查询
SELECT
venueid as VENUES, venue2.venue AS LOCATION,
(SELECT COUNT(*) FROM events WHERE (VENUES = venueid) AND eventdate < CURDATE()) AS number
FROM events
INNER JOIN venues as venue2 ON events.venueid=venue2.id
GROUP BY VENUES
ORDER BY number DESC
Run Code Online (Sandbox Code Playgroud)
我想限制计数来计算表中的最后5行(按id排序)但是当我添加一个limt 0,5时,结果似乎没有改变.在计算时,您在哪里添加限制以限制计数的行数?
CREATE TABLE venues (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
venue VARCHAR(255)
) DEFAULT CHARACTER SET utf8 ENGINE=InnoDB;
CREATE TABLE categories (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
category VARCHAR(255)
) DEFAULT CHARACTER SET utf8 ENGINE=InnoDB;
CREATE TABLE …Run Code Online (Sandbox Code Playgroud) 我有一个基本的缓存系统设置,它根据url中的参数保存文件,这样如果再次查看该页面,它将访问静态文件.例如,如果我的网址是
http://www.example.com/female/?id=1
Run Code Online (Sandbox Code Playgroud)
我有一个名为id = 1.html的缓存文件夹中的文件
female/cache/id=1.html
Run Code Online (Sandbox Code Playgroud)
目前这是缓存指定的时间,但我希望它始终使用缓存的文件,除非页面更新.
所以我实现了下面的PHP代码.
<?
unlink('../' . $gender . '/cache/id=' . $_POST['id'] . '.html');
?>
Run Code Online (Sandbox Code Playgroud)
这工作正常,但有时在我的网址中有其他参数.所以目前我的缓存文件夹中有以下文件
female/cache/id=1.html
female/cache/id=1&type=2.html
female/cache/id=1&type=3.html
female/cache/id=1&type=3&extra=4.html
Run Code Online (Sandbox Code Playgroud)
但是当我保存我的内容时,只删除了female/cache/id = 1.html.
如何删除id = 1的此文件夹中的任何文件
我有以下查询,该查询来自这篇文章计数 mysql 中的一行中的项目数,它计算学生连续出席/缺席课堂的次数。
SELECT
classlist.studentid,
student.name,
classStatus.name status,
COUNT(*) presentcnt
FROM
classlist
INNER JOIN student ON classlist.studentid=student.id
INNER JOIN classstatus ON classlist.presentid=classstatus.id
INNER JOIN (
SELECT
studentid,
max(CASE WHEN presentid=0 THEN id END) max_0,
max(CASE WHEN presentid=1 THEN id END) max_1
FROM classlist
GROUP BY studentid
) s
ON coalesce(classlist.id>least(max_0,max_1) AND classlist.id<=greatest(max_0,max_1),1) AND s.studentid=classlist.studentid
GROUP BY classlist.studentid
Run Code Online (Sandbox Code Playgroud)
这按预期工作,
STUDENTID NAME STATUS PRESENTCNT
111 John Present 1
222 Kate Absent 2
333 Matt Present 5
Run Code Online (Sandbox Code Playgroud)
我想扩展查询,以便有一列显示学生是否参加了课程。
如果我运行独立查询,我会得到我想要的结果
SELECT
classlist.studentid, …Run Code Online (Sandbox Code Playgroud) 我有一些html,我想为除第一个孩子以外的所有孩子添加一个班级.
<div class="test">
<div class="different">title</div>
<div class="same">a</div>
<div class="same">b</div>
<div class="same">c</div>
</div>
Run Code Online (Sandbox Code Playgroud)
以下js
<script>
$(".test").children().each(function(i) {
$(this).addClass("eg_" + (i+1));
});
</script>
Run Code Online (Sandbox Code Playgroud)
看到这个小提琴
http://jsfiddle.net/aaronk85/HaH2y/
我希望每个孩子的测试除了第一个以外都能得到"eg_"+(i + 1)这样的课程,我似乎无法让这个工作吗?
我已经看到了一些类似的例子,见下面的例子,但不能完全解决这个问题.我在哪里错了?
我在看这篇文章 如何使用javascript获取元素的背景颜色?
这证实了,如果你这样做
div.style.color
Run Code Online (Sandbox Code Playgroud)
您将返回应用于div的颜色.
但是,如果样式内联应用于元素,这似乎只返回结果?
当通过样式表(或标签)应用样式而不是直接内联时,如何返回应用于元素的样式?
见下面的例子.
console.log(document.getElementById('content').style.backgroundColor);
console.log(document.getElementById('content').style.color);Run Code Online (Sandbox Code Playgroud)
#content {
background-color: #000000;
display: inline-block;
height: 100px;
width: 100px;
}Run Code Online (Sandbox Code Playgroud)
<div id="content" style="color:red;"></div>Run Code Online (Sandbox Code Playgroud)
的console.log(的document.getElementById( '内容')style.backgroundColor.);
没有回报
的console.log(的document.getElementById( '内容')style.color.);
返回红色