ďťż
Podstrony
|
telcocafeHej.Zachciało się mi 'dymków' po najechaniu kursorem na tekst,chciałem w css i po załączeniu hacka na IE ... <attach event="ondocumentready" handler="parseStylesheets" /> <script> /** * Whatever:hover - V2.02.060206 - hover, active & focus * ------------------------------------------------------------ * (c) 2005 - Peter Nederlof * Peterned - http://www.xs4all.nl/~peterned/ * License - http://creativecommons.org/licenses/LGPL/2.1/ * * Whatever:hover is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * Whatever:hover is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * Credits and thanks to: * Arnoud Berendsen, Martin Reurings, Robert Hanson * * howto: body { behavior:url("csshover.htc"); } * ------------------------------------------------------------ */ var csshoverReg = /(^|\s)((([^a]([^ ]+)?)|(a([^#.][^ ]+)+)):(hover|active))|((a|input|textarea)([#.] [^ ]+)?:unknown)/i, currentSheet, doc = window.document, hoverEvents = [], activators = { onhover:{on:'onmouseover', off:'onmouseout'}, onactive:{on:'onmousedown', off:'onmouseup'}, onunknown:{on:'onfocus', off:'onblur'} } function parseStylesheets() { if(!/MSIE (5|6)/.test(navigator.userAgent)) return; window.attachEvent('onunload', unhookHoverEvents); var sheets = doc.styleSheets, l = sheets.length; for(var i=0; i<l; i++) parseStylesheet(sheets[i]); } function parseStylesheet(sheet) { if(sheet.imports) { try { var imports = sheet.imports, l = imports.length; for(var i=0; i<l; i++) parseStylesheet(sheet.imports[i]); } catch(securityException){} } try { var rules = (currentSheet = sheet).rules, l = rules.length; for(var j=0; j<l; j++) parseCSSRule(rules[j]); } catch(securityException){} } function parseCSSRule(rule) { var select = rule.selectorText, style = rule.style.cssText; if(!csshoverReg.test(select) || !style) return; var pseudo = select.replace(/[^:]+:([a-z-]+).*/i, 'on$1'); var newSelect = select.replace(/(\.([a-z0-9_-]+):[a-z]+)|(:[ a-z]+)/gi, '.$2' + pseudo); var className = (/\.([a-z0-9_-]*on(hover|active|unknown))/i).exec(newSelect) [1]; var affected = select.replace(/:(hover|active|unknown).*$/, ''); var elements = getElementsBySelect(affected); if(elements.length == 0) return; currentSheet.addRule(newSelect, style); for(var i=0; i<elements.length; i++) new HoverElement(elements[i], className, activators[pseudo]); } function HoverElement(node, className, events) { if(!node.hovers) node.hovers = {}; if(node.hovers[className]) return; node.hovers[className] = true; hookHoverEvent(node, events.on, function() { node.className += ' ' + className; }); hookHoverEvent(node, events.off, function() { node.className = node.className.replace(new RegExp('\\s+'+className, 'g'),''); }); } function hookHoverEvent(node, type, handler) { node.attachEvent(type, handler); hoverEvents[hoverEvents.length] = { node:node, type:type, handler:handler }; } function unhookHoverEvents() { for(var e,i=0; i<hoverEvents.length; i++) { e = hoverEvents[i]; e.node.detachEvent(e.type, e.handler); } } function getElementsBySelect(rule) { var parts, nodes = [doc]; parts = rule.split(' '); for(var i=0; i<parts.length; i++) { nodes = getSelectedNodes(parts[i], nodes); } return nodes; } function getSelectedNodes(select, elements) { var result, node, nodes = []; var identify = (/\#([a-z0-9_-]+)/i).exec(select); if(identify) { var element = doc.getElementById(identify[1]); return element? [element]:nodes; } var classname = (/\.([a-z0-9_-]+)/i).exec(select); var tagName = select.replace(/(\.|\#|\:)[a-z0-9_-]+/i, ''); var classReg = classname? new RegExp('\\b' + classname[1] + '\\b'):false; for(var i=0; i<elements.length; i++) { result = tagName? elements[i].all.tags(tagName):elements[i].all; for(var j=0; j<result.length; j++) { node = result[j]; if(classReg && !classReg.test(node.className)) continue; nodes[nodes.length] = node; } } return nodes; } </script> ...Wszystko działa,ale nie pod IE . Mozilla,Opera,wszystko ok. Pomoże ktoś ? Problem . ...Wszystko działa,ale nie pod IE . Mozilla,Opera,wszystko ok. To Cię chyba zmartwię, bo na Operze też nic z tego. Na wszystko najeżdżałem i nic... Wersja 9.01 Kompilacja 8552 Więc to chyba nie tylko wina IE. To Cię chyba zmartwię, bo na Operze też nic z tego. Na wszystko najeżdżałem i nic... Rzeczywiście mnie zmartwiłeś...,wcześniej było ok,inny kolega sprawdzał u siebie i także ok,cóż począć ?Zależy mi na tym... Pozdrawiam. To Cię chyba zmartwię, bo na Operze też nic z tego. Na wszystko najeżdżałem i nic... Wersja 9.01 Kompilacja 8552 Więc to chyba nie tylko wina IE. A ja Cie pociesze ;) Bo też używam tej opery i wszystko w porządku, ale zeby pokazał się dymek trzeba nacisnąć na tekscie. :) ;) Może spróbuj tego -> >>Link<< ;) //EDIT: Jeszcze sobie o tym skrypcie przypomniałem ;) Pod IE miał chyba jedynie tą wadę ,że najpierw na chwilkę dymek pojawiał się w lewym górnym rogu ekranu po czym pojawiał się we właściwym miejscu ;) tu wersja z możliwością łamania linii ;) Użytkownik .:DzIuDek:. ™ edytował ten post 17 wrzesień 2006, 13:01 No teraz coś pozmieniałeś i jest ok na tej Operze co podałęm. Nie trzeba nawet klikać i się normalnie pojawia. @Assasinos Wcześniej też klikałem we wszystko na co się dało, najeżdżałem i nie pokazywało się nic na 100%, może już zaglądnąłeś na stronę jak były jakieś zmiany wprowadzone w kodzie. Nic nie pomaga... Ma ktoś rozwiązanie o które grzecznie proszę :) ? |
|||
Sitedesign by AltusUmbrae. |