╭( ̄^ ̄)m☆! 书接上回~(单田芳味儿…)既然都请来了强悍的jquery库,只用个lavalamp好像有点浪费,还有什么好看实用的东东可以装点呢?今天给大家介绍另一个经典js特效:Sweet Titles——“甜题”!。。又译“香标”~ (我想水果了﹏﹏ = (# ̄▽ ̄))
【第二弹!Sweet Titles链接提示】
Sweet Titles实际上是早于jquery就有的一个js效果,创始人为Dustin Diaz(迪亚兹之尘…)。同其他旧有js前端效果一样,原始的Sweet Titles代码繁多,且在兼容性方面有所欠缺。这里就要特别感谢国内的Leeiio同学啦,他在引进Sweet Titles时使用jquery进行了重写,大大减少了代码数量(仅870字节),不仅提高了运算效率,兼容和扩展性方面也增强了。
我的博客风格比较简炼含蓄,这种链接提示正好可以弥补浏览者的体验不足,英文title帮助国外访客的方法也可以得到加强。但是实际使用后还是发现了两个问题: 一是不支持链接中出现中文字符,如标签(tag)提示总带着%串码很别扭;二是提示层固定于鼠标右下角,浏览器边界如底部附近的链接提示就看不到了,不太方便。于是乎我也做了番研究,成功把这两个问题改进掉了~ 废话少叙,大家看码……如有更好的方法也欢迎交流共享;)
- /*
- Sweet Titles
- jquery code by Leeiio: http://leeiio.me/
- modified by Jasper: http://www.yzmb.me/
- 2009/12/8
- */
- var sweetTitles = {
- tipElements: "a",
- init: function() {
- $(this.tipElements).mouseover(function(e) {
- this.myTitle = this.title;
- this.myHref = this.href;
- this.myHref = (this.myHref.length > 61 ? this.myHref.toString().substring(0, 50) + "...": this.myHref);//这行第一个数字61看你的url长度自行调试,太短显不出中文字符;第二个数字表示url超过50个字符的部分用...代替,比第一个数字小才有效
- this.title = "";
- mouse(e);//计算坐标并自适应显示
- var tooltip = "";
" + this.myTitle + "" + decodeURI(this.myHref) + "" + "
" + this.myTitle + "" + decodeURI(this.myHref) + "" + "
" + this.myTitle + "" + decodeURI(this.myHref) + "" + "
" + this.myTitle + "" + decodeURI(this.myHref) + "" + "
- $('body').append(tooltip);//添加url中文字符转义和四个角度的显示层
- $('#tooltip').css({
- "opacity": "0.8",
- "top": (toppos) + "px",
- "left": (leftpos) + "px"// 0.8透明度可自行调节
- }).show('fast');
- }).mouseout(function() {
- this.title = this.myTitle;
- $('#tooltip').remove();
- }).mousemove(function(e) {
- mouse(e);//计算坐标并自适应显示
- $('#tooltip').css({
- "top": (toppos) + "px",
- "left": (leftpos) + "px"
- });
- });
- ////计算坐标并控制浏览器边界自适应显示的函数
- var poptopset = 0;
- var mouse = function(e) {
- if (e.pageY + 40 > document.body.clientHeight) {
- poptopset = -50;//调节上下自适应层显示距离
- $('#poptop').css({
- "display": "none"
- });
- $('#popbot').css({
- "display": ""
- });
- } else {
- poptopset = 0;
- $('#poptop').css({
- "display": ""
- });
- $('#popbot').css({
- "display": "none"
- });
- }
- if (e.pageX + 20 > document.body.clientWidth) {
- popleftset = -150;//调节左右自适应层显示距离
- $('#topleft').css({
- "display": "none"
- });
- $('#botleft').css({
- "display": "none"
- });
- $('#topright').css({
- "display": ""
- });
- $('#botright').css({
- "display": ""
- });
- } else {
- popleftset = 0;
- $('#topleft').css({
- "display": ""
- });
- $('#botleft').css({
- "display": ""
- });
- $('#topright').css({
- "display": "none"
- });
- $('#botright').css({
- "display": "none"
- });
- }
- toppos = e.pageY + 20 + document.body.scrollTop + poptopset;
- leftpos = e.pageX + 10 + document.body.scrollLeft + popleftset;
- }
- }
- };
- $(function() {
- sweetTitles.init();
- });
这样中文链接完美显示,底部等边界链接提示层会自动调整。注意点击下载并上传引用该js文件后,还要添加一段css代码让它去控制,如下:
- #tooltip {
- position: absolute;
- z-index: 1000;
- max-width: 250px;
- word-wrap: break - word;
- background: #000;
- text-align: left;
- min-height: 1em;
- padding: 3px;
- }
- #tooltip p {
- color: #fff;
- font: 12px 'Microsoft YaHei',
- Arial,
- Tahoma,
- Sans-Serif;
- }
- #tooltip p em {
- display: block;
- margin-top: 1px;
- color: #f70;
- font-style: normal
- }
喜欢圆角效果的去收Leeiio那里的css,还有别忘了引用jquery库文件——这样就OK了!<( ̄︶ ̄)>
头两弹介绍了两个经典套装效果,接下来羽中会放出一些个性化的小玩意儿供大家学习和选用,欢迎继续关注《精彩模版小高招》下一弹~~
(Last modified: 2010-12-29 13:43)
课时1、2已学习,1的效果暂时没用,2已经实践了。请检查作业。期待3课时。
已经出到4课时了^^
1、我的专业不是网页编辑,所以不懂,所以才请教懂的人!
2、我觉得你很道貌岸然,虽然你没必要教我,但还是觉得你真是恶心了,一段小小的代码插进哪个文件哪个位子,要“得另开几篇写课本”,真搞笑,要拒绝也找个台面上过的去的理由吧?我学Windows、Linux、Cisco网络搭建也才几十本书而已!
3、你一出生就会叫妈妈吗?不会吧?你妈还不是每天在你面前说,另外我可不像你说的越多越不会!
评论我会好好留着呵呵,一开始就看出你态度不太好,咄咄逼人的,还好我没有浪费时间
请问能不能指点一下,expand source这种折叠是怎么弄的,真好需要这种折叠用来隐藏Cisco多个设备的一段又一段的命令!
如果您不愿意指教,或又要写几“课本”!那就当在下没问!谢谢!
这个是SyntaxHighlighter插件的功能,我也不知道程序原理,装上就用了。。你有兴趣和能力的话可以研究下http://alexgorbatchev.com/wiki/SyntaxHighlighter
搞定了SyntaxHighlighter,谢谢你的提示!
如果您不介意写几本书教我具体在那些为插入和替换代码,来显sweettiles的话!我会很感激的!
我介意~ 你要是懂的话看我页面源代码也能发现了,不懂我这里只能越说越多你也不一定明白
请教,这两个代码,要具体放在typecho哪个文件、哪个位置,谢谢!By网页小白!
这个要对基础不佳的真不好解释。。需要修改模版文件(在usr/themes文件夹内,看你用哪个就改哪个)中的style.css并添加和引用两个js文件。。。
虽然您这么说,还是不知道该怎么引用,既然您都介绍了,何不把步骤详细介绍一下,毕竟菜鸟比较多!谢谢!
基础的东西百度下会有很多教程的,我要再写上得另开几篇写课本了 = =
那就算了吧,不麻烦您了!谢谢!
话说JS太多了对SEO有点恐怖的。
这个在代码层面上对SEO没有影响的
好不容易用次IE6,结果发现有个提示。~~哦哈哈哈。可怜的小甲好点否。
这啥时候问的 - = 阑尾也好了。。
我网站header使用了这个js ,首页的所有链接不能显示啊 进入文章内页都行 这是怎么回事啊?期盼回复
看了下你的页面源码,发现首页引用了一个1.3.2版本的jquery库,而这段代码是不能在1.3.2下起效的;内页因为有引用1.2.3版jquery库因此见效。这段代码只兼容1.2.6版以下,把你首页的jquery库换成和内页一样的就行了,另外内页如没有特别需要可以去掉1.3.2版的,载入两个不同版本的jquery库可能会冲突而且拖慢页面速度
羽中,把你侧边那个分享收藏的东东共享哈嘛~
是改的分享家的代码,你百度下,默认都就很好。修改版我会在以后的文章中讲,卖个关子;)
囧~~
你的博客真是赏心悦目啊
赏目悦心 (# ̄v ̄#)
对于我这样的‘裸奔’人士,暂且用不上。
(⊙O⊙) ...好有勇气~~