Проблема с Flip
Все работает отлично хорошо.Вот только сама прокрутка происходит по центру экрана.Тоесть не там где изначально создан этот <div id="flipBox"> а выше на экране.Неподскажите почему?
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Test</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript" src="jquery-ui-1.7.2.custom.min.js"></script> <script type="text/javascript" src="jquery.flip.min.js"></script> <script type="text/javascript"> function Flip(){ jQuery(document).ready(function(){ jQuery("#flipBox").flip({ direction:"rl", color:"#539127", content: 'новый текст' }); }); } </script> </script> </head> <body> <form onsubmit="return false"> <div id="divi"> <div id="queston"></div> </div> <button id='send' name='send' onclick='checkAnswer()' >Проверить</button> <button id="id1" type='reset'>Стереть Ответы</button> <button id="id2" type='reset'>Начать тест заново</button> <button id="id3" onclick="TrueAnswer()" >Показать правильный ответ</button> <div><input style="width:200px; height:50px" type="text" id="output" readonly></input></div> </form> <div id="id4" onclick = "text()" style="border:5px solid black; width:100px ;height:100px">Здесь ваш текст</div> <div id="animation" style="width:100px;height:100px;background:Black;color:White;text-align:center;" onclick="animate()" >Word</div> <div id="flipBox" style="border:5px solid black; width:100px ;height:100px" onclick="Flip()"> Будем кувыркаться! </div> </body> </html> Но а если я делаю вот так function Flip(){ $(document).ready(function(){ $("#id5").flip({ direction:"rl", color:"#539127", speed: 100, content: 'новый текст' }); }); } <body> <div id="id5" style="border:5px solid black; width:100px ;height:100px;background:#539127" onclick="Flip()">Что-то</div> </body> То все работает отлично и крутитса <div> в томже месте.Почему действие одно и тоже а выполняетса немного по другому? И подскажите пожалуста.Как при повторном нажатии стили возвращались на первоначальные.Тоесть что-бы при повторном нажатии стили были не которые я указал здесь color:"#539127", content: 'новый текст' А стили и текст которые были здесь <div id="id5" style="border:5px solid black; width:100px ;height:100px;background:#539127" onclick="Flip()">Что-то</div> |
Вместо последний части -
function Flip(){ var $el = $("#id5"); $el.flip({ direction:"rl", color:"#539127", speed: 100, content: 'новый текст', onEnd: function() { var $el = $("#id5"); $el.bind("click", function() { var $el = $(this); $el.attr("style", ""); $el.unbind("click"); }); } }); } <body> <div id="id5" style="border:5px solid black; width:100px ;height:100px;background:#539127" onclick="Flip">Что-то</div> </body> |
Цитата:
|
Не совсем понял какие стили нужны после второго нажатия. Возможно нужно заменить это:
$el.attr("style", ""); На это $el.attr("style", "border:5px solid black; width:100px;height:100px;background:#539127"); |
да нужны первоначальные стили <div>. а подругому кроме как явно задать стили,нельзя получать их из <div>?и текст который находитса в <div>.Тоесть все первоначальные параметры самого <div> стили и текст.
|
Можно суда div до и div после, со всей нужней информацией?
|
Вот это div до
<div id="id5" style="border:5px solid black; width:100px ;height:100px;background:#539127" onclick="Flip">Что-то</div> А после нажатия стили меняютса на указанные во Flip color:"#539127", content: 'новый текст' |
а ище вопрос,пробовал подгребать стили из xml документа,но не хочет их воспринимать тоесть вместо
color:"#539127", content: 'новый текст' пробовал вытаскивать стили из xml документа но флип их невоспринял.можно как-то зделать парсинг стилей из xml? и ище допустим имеетса несколько <div> для которых нужно использовать Flip получаетса что для каждого отдельного <div> нужно использовать отдельный флип?Тогда если я хочу все стили которые будут использоватса во Flip задавать явно(ну явно заберать из xml),а не с помощью функции,так как что-бы забирать с помощью функции нужны какието одинаковые теги в xml что-ли.Неподскажите ище можно ли как-то зделать 1 Flip для нескольких <div> сразу? |
<?xml version="1.0" encoding="UTF-8" ?> <style> <class1><selector>p</selector><rule>color:Yellow</rule></class1> </style> var pullStyles = (function() { var xmlFile = {}; function loadXML() { var xml = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); xml.onreadystatechange = function() { if(xml.readyState === 4) { xmlFile = xml.responseXML; displayXML(); } } xml.open("GET", "coolstuff.xml", true); xml.send(); } function displayXML() { var styleEl = document.createElement("style"), styleObject = "", children = xmlFile.documentElement.childNodes, textMode = (typeof children[0].textContent !== "undefined") ? "textContent" : "text", ruleMode = ""; styleEl.type = "text/css"; document.getElementsByTagName("head")[0].appendChild(styleEl); styleObject = document.styleSheets.item(0); ruleMode = (styleObject.addRule) ? "addRule" : "insertRule"; for(var i = 0, leng = children.length; i < leng; i++) { if(children[i].nodeType === 1) { if(ruleMode === "addRule") { styleObject.addRule(children[i].childNodes[0][textMode], children[i].childNodes[1][textMode]); } else { styleObject.insertRule(children[i].childNodes[0][textMode] + "{" + children[i].childNodes[1][textMode] + "}", 0); } } } } return loadXML; })(); Вот скрипт. Проблема в том что, я совершенно не понимаю зачем стили держать в xml? Для того чтобы применить флип к нескольким элементам - $("#flipbox, #flipbox2").flip({ direction:'tb', content:'this is my new content' }); |
в xml держать стили и все такое для того что-бы можно было менять стили не входя в код и не рыская по нему..
а не могли бы обьяснить что здесь происходит for(var i = 0, leng = children.length; i < leng; i++) { if(children[i].nodeType === 1) { if(ruleMode === "addRule") { styleObject.addRule(children[i].childNodes[0][textMode], children[i].childNodes[1][textMode]); } else { styleObject.insertRule(children[i].childNodes[0][textMode] + "{" + children[i].childNodes[1][textMode] + "}", 0); } } } получаетса вы прохоите по всем детям <style>,а что дальше? и зачем вот это?зачем добавлять созданный элемент типа стиль в head? document.getElementsByTagName("head")[0].appendChild(styleEl); и да ну получил я из xml а как на страницу то нарисовать его? немогли бы немного обьяснить код,и обьяснить как же всетаки его использовать к флипу?ну что-бы по нажатию там забирались какието стили и все такое? Я так понимаю это просто парсинг xml документа? |
Часовой пояс GMT +3, время: 09:11. |