使用.fadeIn()和.fadeOut(),我一直在我的页面上隐藏/显示一个元素,但有两个按钮,一个用于隐藏,一个用于显示.我现在想要一个按钮来切换两者.因此,我的问题是如何检测元素是否可见?
我的HTML原样:
<a onclick="showTestElement()">Show</a>
<a onclick="hideTestElement()">Hide</a>
Run Code Online (Sandbox Code Playgroud)
我的JS是这样的:
function showTestElement() {
$('#testElement').fadeIn('fast');
}
function hideTestElement() {
$('#testElement').fadeOut('fast');
}
Run Code Online (Sandbox Code Playgroud)
我希望得到我的HTML:
<a onclick="toggleTestElement()">Show/Hide</a>
Run Code Online (Sandbox Code Playgroud)
我希望得到我的JS,虽然纯粹的jQuery会很好:
function toggleTestElement() {
if (document.getElementById('testElement').***IS_VISIBLE***) {
$('#testElement').fadeOut('fast');
} else {
$('#testElement').fadeIn('fast');
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助感激地收到..
我有一个position:fixed250px宽的左列,高度为100%,我试图在顶部放置一个固定的流畅水平条,但是在左列的右侧,如下例所示:

但这就是我在这里得到的:

这就是我所做的:
.page-wrapper, html, body {
width:100%;
height:100%;
margin:0;
padding:0;
}
.left-column {
position:fixed;
top:0;
left:0;
z-index:1000;
width:250px;
height:100%;
background:#090909;
}
.top-bar {
position:fixed;
top:0;
left:250px;
width:100%;
height:54px;
background:#090909;
z-index:1000;
}
Run Code Online (Sandbox Code Playgroud)
如何使这个固定的顶部条跨度100%的屏幕宽度,而不会溢出.我希望这是一个简单的解决方案,因为我花了很多时间构建一个相当复杂的响应模板,并且在添加内容之后发现,我顶部栏右侧的内容正在消失!
我确实有一个想法,但可能不是最理想的,所以首先对其他建议感兴趣.左侧固定列可以被赋予比顶部条更高的z-index值,从顶部条移除左边距,而是在顶部条内容上放置左边距,与左列的宽度相同.听起来令人困惑,但可能.
作为一个自学成才的新手,我为自己创造了一个大问题.在将数据插入我的数据库之前,我一直在将字符串中的撇号(')转换为双引号(""),而不是MySQL实际需要的反斜杠和撇号(\').
在我的桌子增长超过20万行之前,我认为最好立即纠正这个问题.所以我做了一些研究并找到了SQL REPLACE函数,这很棒,但我现在很困惑.
在ASP中,我这样做:
str = Replace(str,"'","""")
Run Code Online (Sandbox Code Playgroud)
如果我在SQL Workbench中查看我的数据库,我转换的符号现在是单引号("),这让我有点困惑.我明白为什么它从双变为单,但我不知道哪一个我'我打算现在改变.
要使用SQL REPLACE来解决我的问题,我现在将单引号(")转换为反斜杠和撇号(\'),还是将双引号("")转换为反斜杠和撇号(\') ?
例如,这个:
SQL = " SELECT REPLACE(myColumn,"""","\'") FROM myTable "
Run Code Online (Sandbox Code Playgroud)
或这个:
SQL = " SELECT REPLACE(myColumn,""","\'") FROM myTable "
Run Code Online (Sandbox Code Playgroud)
我希望我能很好地解释自己,一如既往地感激地收到任何建议.有关我的问题的任何疑问,请评论.
非常感谢
- 更新 -
我尝试了以下查询,但仍无法更改数据中的("):
SELECT REPLACE(caption,'\"','\'') FROM photos WHERE photoID = 3371
SELECT REPLACE(caption,'"','\'') FROM photos WHERE photoID = 3371
SELECT REPLACE(caption,'""','\'') FROM photos WHERE photoID = 3371
Run Code Online (Sandbox Code Playgroud)
然而,如果我搜索:
SELECT COUNT(*) FROM photos WHERE caption LIKE '%"%'
Run Code Online (Sandbox Code Playgroud)
我得到16,150行.
- 更新2 -
好吧,我已经创建了一个"解决方法".我设法使用这个SQL很快地编写一个ASP脚本来转换整个列:
SELECT photoID, caption FROM photos WHERE …Run Code Online (Sandbox Code Playgroud) 我的页面上有一个按钮,其中包含类comment_like和ID,comment_like_123456但最后的数字是可变的; 可能是1到1000000.
单击此按钮时,我需要获取结束编号,以便我可以在具有相同后缀的其他元素上运行任务.
有没有一种简单的方法可以在jQuery中获取这个数字?
$('.comment_like').click(function() {
var element_id = $(this).attr('id');
// grab number from element ID
// do stuff with that number
});
Run Code Online (Sandbox Code Playgroud) 在JS中,我在解决如何拆分来自AJAX调用的字符串时遇到了麻烦.
这是我到目前为止:
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
feedUpdateResponse = xmlhttp.responseText;
/////...split script.../////
}
}
xmlhttp.open("GET","https://myDomain.com/myScript.aspx",true);
xmlhttp.send();
Run Code Online (Sandbox Code Playgroud)
你在上面的脚本中有/////...split脚本... /////,我需要添加一个小函数来分割从我的AJAX调用返回的字符串.
该字符串只包含DIV的名称,如下所示:
feedUpdateResponse = "div1/div2/div3/div4"
Run Code Online (Sandbox Code Playgroud)
我想首先用斜杠(/)拆分字符串,并在不同的值中运行循环,并对页面上的元素执行操作.
为了了解我需要实现的目标,我给出了这个ASP和JS混合的例子 - 这是我可能描述它的唯一方式(并表明我已经尝试过了):)
MyArray = Split(feedUpdateResponse,"/")
For Each X In MyArray
documentGetElementById('updateAvailable_'+x).style.visibility="visible";
Next
Run Code Online (Sandbox Code Playgroud)
在我的页面上,我有一个ASP脚本,可以生成jquery轮播,所有这些都由不同的DIV包含.DIV被命名为DIV1,DIV2等.例如,在DIV1内部,是一个文本元素updateAvailable_div1,它将提醒用户"有这个Feed可用的新照片,请点击刷新按钮".
有人可以向我解释我如何改变上面的例子来使用JS吗?只需要将字符串拆分成一个数组并循环遍历拆分值...
我有一个搜索框.
我的管理员用户可能会搜索"@MG @EB dorchester".
在ASP中,我需要计算符号"@"出现在字符串中的次数.怎么可能?
我正在使用此查询来生成博客存档菜单,如下所示:
SELECT CONCAT( MONTHNAME(published) , ' ' , YEAR(published)) AS monthyear,
COUNT(*) AS total
FROM blog_articles
WHERE status = 'Online' AND Year(published) = 2012
GROUP BY CONCAT( MONTHNAME(published) , ' ' , YEAR(published))
Run Code Online (Sandbox Code Playgroud)
预期结果:
January 2012 103
February 2012 87
March 2012 23
April 2012 99
Run Code Online (Sandbox Code Playgroud)
实际结果:

计数是正确的,但不是精神东方,它应该是:
May 2012 1
Run Code Online (Sandbox Code Playgroud)
我怎样才能摆脱有趣的角色而不是英语呢?
当我在phpMyAdmin中运行此查询时,字符很好.
UPDATE
我刚刚尝试运行conn.Execute("SET lc_time_names ='en_US';")并没有解决问题.为了检查,我使用了conn.Execute("SELECT @@ lc_time_names;")并返回"en_US".
另一个更新
在MySQL论坛上搜索相关问题,我发现另一个人抱怨同样的问题.MySQL大师说:
"这是着名的(臭名昭着的)服务器为数字和字符串的CONCAT返回错误的类型.必须使用(强制转换)表单才能使用,驱动程序无法判断真实类型是什么."
我不确定演员是什么或如何解决这个问题.
在3列上添加FULLTEXT INDEX时,是否在3列上添加1个单个索引,还是添加3个单独的索引?
我问这个,因为此刻我正在使用这样的FULLTEXT:
ALTER TABLE myTable ADD FULLTEXT all3colsIndex (col1,col2,col3);
SELECT * FROM myTable WHERE MATCH (col1, col2, col3) AGAINST ('word');
Run Code Online (Sandbox Code Playgroud)
我刚刚在我的搜索界面中添加了一个用户选项,用户可以从搜索中删除其中一列.所以我能够在不丢失索引的情况下做到这一点,我只使用3列中的2列:
ALTER TABLE myTable ADD FULLTEXT all3colsIndex (col1,col2,col3);
If (UserOptionRemoveCol == "selected") {
SELECT * FROM myTable WHERE MATCH (col1, col2) AGAINST ('word');
} else {
SELECT * FROM myTable WHERE MATCH (col1, col2, col3) AGAINST ('word');
}
Run Code Online (Sandbox Code Playgroud)
或者我是否必须在两列以及三列上创建新的FULLTEXT索引?
ALTER TABLE myTable ADD FULLTEXT all3colsIndex (col1,col2,col3);
ALTER TABLE myTable ADD FULLTEXT 2colsIndex (col1,col2);
Run Code Online (Sandbox Code Playgroud) 特别是在Firefox中,我遇到了一个我无法弄清楚如何修复的问题.
在下一页上,向下滚动页面时会跳转几次 - 主要是在较小的屏幕上,页面没有显示其完整大小.您可以通过使浏览器小于页面来复制此问题,因此您必须滚动.
它在这个页面上:http://www.nucanoe.com/frontier-accessories/
如果我position:fixed在导航选择器上禁用它,它会解决问题 - 但我们需要导航是粘性的.有解决方案来解决这个问题吗?我想我们可能需要以某种方式使用jQuery.
提前致谢!
孩子失去了父母!
我有一个父窗口,当有人点击图像时,JS弹出窗口会打开并显示照片及其信息.
要关闭弹出/子窗口,并在我的父/开启窗口上刷一个元素,我一直在使用这个函数:
function closeWindow() {
var currentID = document.getElementById('currentID').value;
window.opener.flashElement(currentID);
window.close();
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果我的用户离开弹出窗口最初打开的页面,这不起作用.例如,在弹出窗口中,有下一个和上一个按钮可以滚动显示该组结果中的各个照片,这些按钮会使用新的查询字符串值重新加载页面.
如果我的用户滚动(重新加载页面)少于7次就没关系,但是如果它们滚动得多,那么该window.opener功能不起作用,因此,该window.close功能也没有!
我可能重建页面,因此数据来自AJAX调用,而不是重新加载页面,但这是我可以做的很多工作.
有任何想法吗?