我觉得应该有一个简单的方法来做到这一点,但我只是不知道它是什么.我有一个要显示的数据列表,我想要包含一个AJAX"Read More"功能来扩展每个段底部的信息.为此,我需要在每个段中使用唯一的div ID.我有这个代码:
<% for choice in @student_choices %>
<div id= "student_description", style="display:none;">
<%= choice[:description]%>
</div>
<%= link_to_function "Read More", "Element.show("student_description")"%>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但由于有多个div ID,单击"Read More"仅显示第一个.如何插入变量div ID?我知道如何在PHP中执行此操作,但这让我很难过.即使我们将div ID本身变为可变,我们如何让Element.show接受变量?
我的Ajax函数将HTML-Elements作为String返回,而这个String我想在我的Document中作为DOM元素追加.
就像是
parentNode.appendChild(responseText);
Run Code Online (Sandbox Code Playgroud)
什么是最好的方法来做到这一点.
根据Simone Carletti 博客文章,Rails 3 ajax助手已经改变了很多.我们应该使用rails 3编写比使用rails 2更多的javascript.
我试图找出如何显示ajax加载gif-而ajax查询正在运行 - 在"rails 3 way"中.我想出了这种代码,它使用Rails 3 UJS驱动程序发送的javascript事件.这个例子使用原型:
<div id="wait" style="display:none">
<img src="/images/ajax-loader.gif"> Please wait...
</div>
<div>
<%= link_to 'Get', 'finished', :id => "mylink", :remote => true %>
</div>
<%= javascript_tag do %>
Event.observe('mylink', 'ajax:before', function(event) {
$('wait').show();
});
Event.observe('mylink', 'ajax:complete', function(event) {
$('wait').hide();
});
<% end %>
Run Code Online (Sandbox Code Playgroud)
这很好用,但我希望有可能在原型和scriptaculous助手的帮助下编写这些ajax事件"触发器",就像我们使用link_to_function一样:
<%=
link_to_function("toggle visibility") do |page|
page.toggle "wait"
end
%>
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点,或者我们应该直接在javascript中编写ajax事件"触发器",无论是原型还是jquery?
最好的祝福,
Philippe Lang
出于某种原因,我无法否定double,然后返回它的时候一定条件满足(这是得到满足).尽管有任何哄骗,它仍保持积极态度.
public static double angleDiffNoAbs(double from, double to, double maxValue) {
double diff = to - from;
double absdiff = Math.abs(diff);
if (absdiff > maxValue) {
double newdiff;
boolean clockwise = false;
if (from < to) {
newdiff = maxValue;
clockwise = true;
System.out.println("c");
} else {
System.out.println("ac");
newdiff = maxValue * -1.0d;
}
System.out.println("from: " + from + ", to: " + to + ", diff: " + diff + ", absdiff: " + absdiff + ", …Run Code Online (Sandbox Code Playgroud) 建立一个网站.当我订购这样的标签时,LightCycle可以工作,但Lightbox不能:
Lightcycle工作,Lightbox不:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="./js/prototype.js"></script>
Run Code Online (Sandbox Code Playgroud)
当我这样订购时,Lightbox可以工作,但是LightCycle没有:
灯箱工作,LightCycle不:
<script type="text/javascript" src="./js/prototype.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
令人沮丧.
我想迭代一个DOM元素列表(复选框),并且只要定义了这个列表就继续.元素是'c1r1','c1r2','c1r3'等.一旦我遇到一个未定义的元素,我就停止了.问题似乎是使用带有DOM元素的typeof.
这是有问题的代码:
function domIsDefined(idString){
alert(idString);
var isItDefined = (typeof $(idString) != 'undefined');
alert(isItDefined);
return isItDefined;
}
...
for(i=1; domIsDefined('c1r' + i); i++){
if($('c1r' + i).checked==true){
// do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
问题的关键在于这一行:
var isItDefined = (typeof $(idString) != 'undefined');
Run Code Online (Sandbox Code Playgroud)
正如我所发现的那样,问题是typeof $(idString)总是返回对象,无论它是否被定义.有没有什么好方法可以做这种事情?我想我会尽早尝试捕获并检查.checked属性,但这感觉很恶心.
我是一个jQuery猴子,我有一个网站,我需要使用一个简单的功能在一个单独的窗口中打开与rel ="external"的链接.
在jQuery中我这样做:
// make links with rel=external open in new window/tab
$(function() {
$('a[rel*=external]').click( function() {
window.open(this.href);
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
我如何在原型中设置相同的功能,以便在任何连接到rel = external的链接上不引人注意地触发它?
谢谢
西蒙
编辑:
根据以下所有三个答复的建议,最终代码为:
$(document).on('dom:loaded', function() {
$$('a[rel*=external]').invoke('on','click', function(event) {
window.open(this.href);
event.stop();
});
});
Run Code Online (Sandbox Code Playgroud)
谢谢大家!
我写了一些将图像嵌入到页面中的JavaScript.
最终结果在所有浏览器(甚至是IE6和7)上都是成功的,但是对于IE6和7,我收到消息"第15行,第5个字符,未找到成员".这是代码:
09: var url = getUrl();
10: url += 'Impression';
11: url += '?' + getParams();
12: var img = new Image();
13: img.src = url;
14: img.style = "display = 'none';";
15: document.body.insertBefore(img, document.body.firstChild);
Run Code Online (Sandbox Code Playgroud)
要么是document.body.insertBefore或document.body.firstChild不是IE6或7完全支持?
javascript css internet-explorer internet-explorer-7 internet-explorer-6
我正在开发Chrome扩展程序以执行以下操作。
单击该图标时,弹出窗口将显示当前显示页面的IP地址。
该扩展名应该在每个页面上都有效。但是问题是,当加载URL时,应该已经加载了当前URL的IP。不会在显示弹出窗口时显示,以便在弹出窗口和通过Web服务获取IP地址之间没有延迟。
因此,实质上,每个选项卡的扩展弹出窗口都不同。
这应该是页面操作还是浏览器操作?
以及如何在后台从Web服务中获取数据并在实际显示之前将其分配给弹出窗口?
任何信息都非常实用。
javascript dns google-chrome ip-address google-chrome-extension
我遇到了一个问题:chrome.experimental.offscreenTabs.create效果很好,但该toDataUrl方法产生的图像高度为1像素.我已经尽力了,但产生的图像toDataUrl没有显示我指定的尺寸.怎样才能解决这个问题?
这是我的代码:
chrome.experimental.offscreenTabs.create({ url: "http:/www.baidu.com" }, function(offscreenTab) {
// console.log(offscreenTab);
chrome.experimental.offscreenTabs.toDataUrl(offscreenTab.id, { format: "png" }, function(imgUrl) {
$("#container").html("<img src='" + imgUrl + "' />");
});
});
Run Code Online (Sandbox Code Playgroud) javascript ×7
prototypejs ×6
jquery ×3
ajax ×2
css ×2
conflict ×1
dns ×1
dom ×1
double ×1
html ×1
ip-address ×1
java ×1
screenshot ×1
typeof ×1
types ×1
ujs ×1
undefined ×1