ho sofferto per un po 'cercando di avere la funzione di rotazione (xdeg) su IE 8, 7 e 6, per questo ho google per un po' e ho trovato cssSandpaper ma dal momento che devo caricare 4 script di diferenti che voglio fare solo se necessario per questo im utilizzando modernizr im cercando qualcosa di simile:Modernizr con cssSandpaper?
<head>
<link rel="stylesheet" href="stilos/estilo.css" />
<script src="scripts/modernizr.custom.19387.js"></script>
<script src="scripts/jquery-1.8.1.js"></script>
<script src="scripts/misfallbacks.js"></script>
</head>
<body>
<div id="acerca"><a href="#">Acerca de mi</a></div>
</body>
mio file css (estilo.css):
#acerca{
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform:rotate(90deg);
-sand-transform:rotate(90deg);
position: relative;
top: -233px;
left: 462px;
width: 123px;
height: 23px;
z-index:100;
}
mio file js (misfallbacks.js)
Modernizr.load({
test:Modernizr.csstransforms,
nope:['transformie/EventHelpers.js/','transformie/cssQuery-p.js','transformie/sylvester.js','transformie/cssSandpaper.js']
);//Fin de monernizr on load
Funziona benissimo su Safari, Chrome, Opera, Firefox e IE9, ma quando provo a IE8 o IE7 ottengo il seguente errore sulla console
SCRIPT5007: Unable to get value of the property 'addEventListener': object is null or undefined EventHelpers.js, line 49 character 9
ho aggiunto un console.log per cercare di scoprire che cosa era in corso e se ne andò a quella linea qui è (EvenHelpers.js):
me.addEvent = function(obj, evType, fn){
console.log(obj);//I've added this to try to figure out what is going on
if (obj.addEventListener) {........//here is the error
sulla prossima corsa ho controllato la console di nuovo una sega questo LOG: null
, non sono un esperto di javascript in modo da non sono sicuro che cosa è ma ho provato qualcosa di diverso e ho aggiunto cssSandPaper usando il tag script come questo:
<head>
<link rel="stylesheet" href="stilos/estilo.css" />
<script src="scripts/modernizr.custom.19387.js"></script>
<script src="scripts/jquery-1.8.1.js"></script>
<!--<script src="scripts/misfallbacks.js"></script>-->
<script src="transformie/EventHelpers.js"></script>
<script src="transformie/cssQuery-p.js"></script>
<script src="transformie/sylvester.js"></script>
<script src="transformie/cssSandpaper.js"></script>
</head>
con mia grande sorpresa ha lavorato come un fascino, e in questo modo ho la funzione di rotazione, anche in IE7 e IE8 e la console dirlo ora LOG: [HTMLScriptElement oggetto] ma im consapevoli che l'utilizzo di questo modo mi sarà sempre caricando questi 4 script anche quando non sono necessari e questo non è mi scopo ma dal momento che sto iniziando con modernizr e javacript per essere hone non ho idea di cosa stia succedendo D: e perché quando carico gli script usando nope: [' '] da Modernizr non funziona. qualcuno conosce un modo per risolvere questo? ... mi dispiace per il mio inglese non è il mio primo languague
modifica: ho fatto una piccola ricerca su questo oggetto HTMLScriptElement e il suo supporre di fare riferimento a un tag di script suppongo che quando carico il file js con nope: da modernizr qualcosa cambia e questo oggetto diventa nullo poiché non è più caricato all'interno di un tag di script ... ma sono ancora nello stesso problema ... come posso risolvere questo? :/
jsFiddle Test without Modernizr
Risposta: ho finito per usare se lt IE 9 per caricare gli script di carta di sabbia è ottenuto il lavoro fatto
Potresti aggiungere un jsfiddle? – armonge