Skip to content
View in the app

A better way to browse. Learn more.

Web Designer Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

slg

Members
  • Joined

  • Last visited

Everything posted by slg

  1. I'm using Dustin Diaz's Sweet Titles scripts on a website built on the Big Medium content management system. http://www.kirklees-college-business-training.co.uk/index.shtml This displays attractive 'tool tips' on links - showing the contents of the 'title' attribute. The scripts work well on the links I can control, but there are links within the site which I can't access in order to add a 'title'. Here the scripts display an empty box. I have no knowledge of JavaScript, hence this question. Is it possible to alter the script to not trigger a tool tip if there is no 'title' attribute in the link? If so, could somebody show me what to do? Many Thanks sweetTitles.js /* Sweet Titles © Creative Commons 2005 http://creativecommons.org/licenses/by-sa/2.5/ Author: Dustin Diaz | http://www.dustindiaz.com */ var sweetTitles = { xCord : 0, // @Number: x pixel value of current cursor position yCord : 0, // @Number: y pixel value of current cursor position tipElements : ['a','abbr','acronym'], // @Array: Allowable elements that can have the toolTip obj : Object, // @Element: That of which you're hovering over tip : Object, // @Element: The actual toolTip itself active : 0, // @Number: 0: Not Active || 1: Active init : function() { if ( !document.getElementById || !document.createElement || !document.getElementsByTagName ) { return; } var i,j; this.tip = document.createElement('div'); this.tip.id = 'toolTip'; document.getElementsByTagName('body')[0].appendChild(this.tip); this.tip.style.top = '0'; this.tip.style.visibility = 'hidden'; var tipLen = this.tipElements.length; for ( i=0; i<tipLen; i++ ) { var current = document.getElementsByTagName(this.tipElements); var curLen = current.length; for ( j=0; j<curLen; j++ ) { addEvent(current[j],'mouseover',this.tipOver); addEvent(current[j],'mouseout',this.tipOut); current[j].setAttribute('tip',current[j].title); current[j].removeAttribute('title'); } } }, updateXY : function(e) { if ( document.captureEvents ) { sweetTitles.xCord = e.pageX; sweetTitles.yCord = e.pageY; } else if ( window.event.clientX ) { sweetTitles.xCord = window.event.clientX+document.documentElement.scrollLeft; sweetTitles.yCord = window.event.clientY+document.documentElement.scrollTop; } }, tipOut: function() { if ( window.tID ) { clearTimeout(tID); } if ( window.opacityID ) { clearTimeout(opacityID); } sweetTitles.tip.style.visibility = 'hidden'; }, checkNode : function() { var trueObj = this.obj; if ( this.tipElements.inArray(trueObj.nodeName.toLowerCase()) ) { return trueObj; } else { return trueObj.parentNode; } }, tipOver : function(e) { sweetTitles.obj = this; tID = window.setTimeout("sweetTitles.tipShow()",500); sweetTitles.updateXY(e); }, tipShow : function() { var scrX = Number(this.xCord); var scrY = Number(this.yCord); var tp = parseInt(scrY+15); var lt = parseInt(scrX+10); var anch = this.checkNode(); var addy = ''; var access = ''; if ( anch.nodeName.toLowerCase() == 'a' ) { addy = (anch.href.length > 25 ? anch.href.toString().substring(0,25)+"..." : anch.href); var access = ( anch.accessKey ? ' <span>['+anch.accessKey+']</span> ' : '' ); } else { addy = anch.firstChild.nodeValue; } this.tip.innerHTML = "<p>"+anch.getAttribute('tip')+"<em>"+access+addy+"</em></p>"; if ( parseInt(document.documentElement.clientWidth+document.documentElement.scrollLeft) < parseInt(this.tip.offsetWidth+lt) ) { this.tip.style.left = parseInt(lt-(this.tip.offsetWidth+10))+'px'; } else { this.tip.style.left = lt+'px'; } if ( parseInt(document.documentElement.clientHeight+document.documentElement.scrollTop) < parseInt(this.tip.offsetHeight+tp) ) { this.tip.style.top = parseInt(tp-(this.tip.offsetHeight+10))+'px'; } else { this.tip.style.top = tp+'px'; } this.tip.style.visibility = 'visible'; this.tip.style.opacity = '.1'; this.tipFade(10); }, tipFade: function(opac) { var passed = parseInt(opac); var newOpac = parseInt(passed+10); if ( newOpac < 80 ) { this.tip.style.opacity = '.'+newOpac; this.tip.style.filter = "alpha(opacity:"+newOpac+")"; opacityID = window.setTimeout("sweetTitles.tipFade('"+newOpac+"')",20); } else { this.tip.style.opacity = '.80'; this.tip.style.filter = "alpha(opacity:80)"; } } }; function pageLoader() { sweetTitles.init(); } addEvent(window,'load',pageLoader); addEvent.js Array.prototype.inArray = function (value) { var i; for (i=0; i < this.length; i++) { if (this === value) { return true; } } return false; }; function addEvent( obj, type, fn ) { if (obj.addEventListener) { obj.addEventListener( type, fn, false ); EventCache.add(obj, type, fn); } else if (obj.attachEvent) { obj["e"+type+fn] = fn; obj[type+fn] = function() { obj["e"+type+fn]( window.event ); } obj.attachEvent( "on"+type, obj[type+fn] ); EventCache.add(obj, type, fn); } else { obj["on"+type] = obj["e"+type+fn]; } } var EventCache = function(){ var listEvents = []; return { listEvents : listEvents, add : function(node, sEventName, fHandler){ listEvents.push(arguments); }, flush : function(){ var i, item; for(i = listEvents.length - 1; i >= 0; i = i - 1){ item = listEvents; if(item[0].removeEventListener){ item[0].removeEventListener(item[1], item[2], item[3]); }; if(item[1].substring(0, 2) != "on"){ item[1] = "on" + item[1]; }; if(item[0].detachEvent){ item[0].detachEvent(item[1], item[2]); }; item[0][item[1]] = null; }; } }; }(); addEvent(window,'unload',EventCache.flush);

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.