CSS精灵可以在页面的HTML中工作,但不能在Javascript中工作
CSS Sprites are working in the HTML of the page, but not in Javascript?
CSS精灵在页面的HTML中工作,但在Javascript中不工作?
我正在尝试安装http://www.spyka.net/scripts/javascript/easy-social-bookmarks并添加CSS精灵以最大限度地减少服务器调用。
我创建了这样的样式表:
<style type="text/css">
<!--
.i_blinklist
{
width:21px;
height:21px;
background-repeat: no-repeat;
background-image: url(img_socialsprites.jpg);
background-position: 0 0;
}
.i_blogmarks
//-->
</style>
这段代码在页面的HTML中工作,如下所示:
<div class=i_blinklist></div>
当我像这样把它添加到javascript中时,它不起作用:
sites[0] = new Array('http://blinklist.com/index.php?Action=Blink/addblink.php&Url={url}', 'Blinklist', '<div class=i_blinklist></div>');
以下是可能影响它的脚本的主要工作方式:
function swgbookmarks()
{
for(i = 0; i < sites.length; i++)
{
var g = sites[i];
var u = g[0];
u = u.replace('{url}', escape(window.location.href));
u = u.replace('{title}', escape(window.document.title));
var img = (imagepath == '0') ? '' : '<img src="'+g[2]+'" alt="'+g[1]+'" /> ';
var k = '<a href="'+u+'">'+img+g[1]+'</a> ';
window.document.write(html_before+k+html_after);
}
}
任何想法或帮助都将不胜感激。
谢谢。
更新:
我一直在玩这个,终于成功了:o)
以下是我所做的更改。
社交书签和图片JS代码:
sites[0] = new Array('http://blinklist.com/index.php?Action=Blink/addblink.php&Url={url}', 'Blinklist', 'socialsprite social blinklist');
以下是脚本基础上的JS代码:
function swgbookmarks()
{
for(i = 0; i < sites.length; i++)
{
var g = sites[i];
var u = g[0];
u = u.replace('{url}', escape(window.location.href));
u = u.replace('{title}', escape(window.document.title));
var img = (imagepath == '0') ? '' : '<img src="transparent1x1.gif" class="'+g[2]+'" alt="'+g[1]+'" /> ';
var k = '<a href="'+u+'">'+img+g[1]+'</a> ';
window.document.write(html_before+k+html_after);
}
}
这是CSS样式表代码:
<style type="text/css">
<!--
.socialsprite {background:url(img_socialsprites.jpg);}
.social {height:22px;}
.social {width:22px;}
/* Social Images */
.blinklist {background-position:0px 0px;}
.blogmarks {background-position:0px -22px;}
这似乎奏效了。
我现在有这个工作。
请参阅底部的主要文章更新。
我在那里写了更新,因为网站在几个小时内不允许我发布自己的答案,我不想浪费任何人的时间。
谢谢你的建设性意见,他们帮了我很多忙。
查看生成的HTML。看起来你在类名周围缺少了一些引号:
sites[0] = new Array('http://blinklist.com/index.php?Action=Blink/addblink.php&Url={url}', 'Blinklist', '<div class=i_blinklist></div>');
应该是
sites[0] = new Array('http://blinklist.com/index.php?Action=Blink/addblink.php&Url={url}', 'Blinklist', '<div class="i_blinklist"></div>');
**编辑**此外,将变量"k"记录到控制台"console.log(k)"中,并验证html。它生成以下内容,这也是不正确的。请注意img src等于div,而不是实际路径:
<a href="http://blinklist.com/index.php?Action=Blink/addblink.php&Url=http%3A//fiddle.jshell.net/_display/"><img src="<div class="i_blinklist"></div>" alt="Blinklist" /> Blinklist</a>
据我所知,你应该使用这样的东西:
var k = '<a href="'+u+'">'+img+g[1]+'</a> ';
带有生成:
<a href="..."><div class="i_blinklist"></div> Blinklist</a>
最后一点需要注意的是,您应该在锚标记中使用span,而不是div。同样,这不是有效的HTML。看见https://stackoverflow.com/a/1828032/1220302了解更多信息。
相关文章:
- 用户名输入如果其他块不能正常工作/Javascript-jQuery-AJAX
- 变量只能在函数中局部工作,不能全局工作-Javascript
- onClick按钮不工作javascript/php/jquery mobile
- 点击骰子赢得't工作(javascript)
- for循环,if else不工作Javascript
- 获取下一个不工作Javascript DOM的同级父节点的子节点
- 可以'没有一个函数可以工作——Javascript
- OnFocus 不是工作 JavaScript HTML;不显示对焦时计算和按钮单击时
- 从 iframe 访问主站点中的工作 JavaScript
- 对于在循环中无法按预期工作 JavaScript
- 在阅读表单输入后写回HTML;t工作(Javascript)
- 复选框单击有效,取消选中复选框不工作Javascript
- 代码在Codepen中工作,而不是在浏览器中工作:JavaScript在鼠标滚轮上缩放SVG
- 当用户在这个工作javascript注释框中提交注释时,您将如何添加用户图像和名称
- 向Wordpress添加工作Javascript谷歌地图代码
- 确认/重定向功能不工作-javascript
- 当/patt/版本工作时,为什么RegExp版本不工作?(Javascript)
- Firefox加载项按钮代码不工作-Javascript
- 计算器功能不工作- Javascript
- 将工作JavaScript对象序列化为仅保留属性的JSON