Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][CSS] Obrót obrazka o 90stopni po kliknięciu
php__amator
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

Ostrzeżenie: (10%)
X----


Witajcie przedszkolacy,
Napotkałem taki problem i nie wiem jak go rozwiązać. Jakkolwiek obrót obrazka nie nastręcza problemu to już żeby odbyło się to dopiero po kliknięciu jest problemem.
Podpowiedzcie proszę jak to zrobić (IMG:style_emoticons/default/sad.gif)
Pomyślałem sobie, że można by z użyciem JS i onclick zmienić właściwości CSS i spowodować obrócenie obrazka.
W sumie, jeśli mozna by dodatkowo uzyskać efekt animacji obrotu było by wręcz cudownie.
Żeby obrazek poprostu nie przeskakiwał z pozycji pionowej do poziomej.

Please help ....
Go to the top of the page
+Quote Post
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

Ostrzeżenie: (0%)
-----


http://stackoverflow.com/questions/1519105...-jquery-animate
http://stackoverflow.com/questions/9776015...-a-rotating-div
http://stackoverflow.com/questions/3789984...-a-div-rotation
Próbowałeś w ogole szukac..?
Go to the top of the page
+Quote Post
markuz
post
Post #3





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


http://jsfiddle.net/mYQNL/49/
Go to the top of the page
+Quote Post
php__amator
post
Post #4





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

Ostrzeżenie: (10%)
X----


A troszkę szukałem chociaż bardziej skupiłem się na CSS-owym rozwiązaniu.
Dziękuję serdecznie Panowie przedszkolacy (IMG:style_emoticons/default/smile.gif)


Ok, a jak zmiksować te skrypty żeby działało ?

Pierwszy obraca obrazek, drugi wysuwa diva i pokazuje formularz.
który w nagłówku ma obrazek którym chcę wykonać obrót o 90stopni

<script type="text/javascript" language="JavaScript">
$('.rotate').click(function () {
$(this).rotate({
duration: 200,
angle: 0,
animateTo:90

});
var flip = 0;
$("#rotating1").click(function () {
flip++;
if (flip % 2 == 1)
$("#floatingenquire #contactform").slideDown('slow');
else
$("#floatingenquire #contactform").slideUp('slow');
});
});
</script>
Zrobiłem tak i na JSFiddle działa, natomiast po umieszczeniu wszystkich elementów na stronie ....... nie działa (IMG:style_emoticons/default/sad.gif)
http://jsfiddle.net/mYQNL/64/
Go to the top of the page
+Quote Post
Pyton_000
post
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


A co piszczy w konsoli developera?
Go to the top of the page
+Quote Post
php__amator
post
Post #6





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

Ostrzeżenie: (10%)
X----


Nie zauważyłem a piszczy to:
Uncaught SyntaxError: Unexpected token var

Dlaczego więc działa na JSFiddle jeśli jest błąd ?

Taka wersja na JSFiddle działa jeszcze lepiej (IMG:style_emoticons/default/smile.gif)
Niestety tylko na JSFiddle

var flip = 0;
$('.rotate').click(function () {
$(this).rotate({
duration: 200,
angle: 0,
animateTo:90
});
flip++;
if (flip % 2 == 1)
$("#floatingenquire #contactform").slideDown('slow');
else
$("#floatingenquire #contactform").slideUp('slow');
});

w ckonsoli pokazuje błąd:
"Uncaught TypeError: undefined is not a function "
(IMG:style_emoticons/default/sad.gif) nie kumam
Go to the top of the page
+Quote Post
viking
post
Post #7





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Osadziłeś jquery na stronie? Jest to wewnątrz pliku JS albo <script>?
Go to the top of the page
+Quote Post
php__amator
post
Post #8





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

Ostrzeżenie: (10%)
X----


W sumie nie bezpośrednio bo gdzieś tam jest odwołanie do jquery.
skrypt jest umieszczony w pliku xml z którego zawartość jest wklejana do głównego skryptu.

Zrobiłem więc tak:
<script type="text/javascript" src="catalog/view/javascript/jquery/jquery-1.7.1.min.js"></script>
<script>
var flip = 0;
$('.rotate').click(function () {
$(this).rotate({
duration: 200,
angle: 0,
animateTo:90
});
flip++;
if (flip % 2 == 1)
$("#floatingenquire #contactform").slideDown('slow');
else
$("#floatingenquire #contactform").slideUp('slow');
});
</script>
ale dalej nie działa (IMG:style_emoticons/default/smile.gif)


Uncaught TypeError: undefined is not a function VM1344 index.php?route=common/home:472
(anonymous function) VM1344 index.php?route=common/home:472
n jquery-1.7.1.min.js:2
o.fireWith jquery-1.7.1.min.js:2
e.extend.ready jquery-1.7.1.min.js:2
c.addEventListener.B jquery-1.7.1.min.js:2
A tak mi wywala w konsoli (IMG:style_emoticons/default/sad.gif)
HELP ME PLEASE (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Pyton_000
post
Post #9





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


umieść cały skrypt w

Kod
$(function() {
...
})
Go to the top of the page
+Quote Post
php__amator
post
Post #10





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

Ostrzeżenie: (10%)
X----


Powoli znajduje problemy. Już zaczęło działać.
Podlinkowałem osobnyą bibliotekę jQueryRotate i działa.
Okazało się, że standardowa jQuery nie działała stąd problem (IMG:style_emoticons/default/smile.gif)

Nie działa co prawda jeszcze jak bym chciał ale już obraca obrazek i wysuwa formularz po kliknięciu (IMG:style_emoticons/default/smile.gif)
Teraz nieco bardziej skomplikowane zadanie - przynajmniej dla mnie.

Mianowicie, jak spowodować, żeby po ponownym kliknięciu obrazek wracał do pierwotnego położenia ?

Właściwie to obrazek powinien być pionowo na początku czyli tak jak jest przygotowany a po kliknięciu powinien się obrócić do pozycji poziomej i tak zostać.
Następnie po ponownym kliknięciu powinien się spowrotem obrócić do pionu.
Jak tego dokonać ?

http://jsfiddle.net/mYQNL/97/
Tak to wygląda w tej chwili (IMG:style_emoticons/default/smile.gif)


Nie jest doskonale ....ale:

http://jsfiddle.net/mYQNL/123/

Mniej więcej o oto mi chodziło (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 18:35