Har hittat ett annat problem nu. Enligt Internet Explorer och Safari så reagerar den på .find()-funktionen tror jag. Kolla själv om du har tid. Vad kan det bero på?
Har ett problem med en jqueryfunktion - ni kanske kan hjälpa mig?
36 svar · 1 182 visningar · startad av bikic · sida 2 av 2
Frågan, av bikic
Jag håller på att skapa min portfolio - väldigt enkel men pedagogisk och korrekt. Jag använder mig först av en slide där man kan navigera med både knappar och mousewheel. När man klickar upp ett projekt så visar den projektet med både text och fler bilder av projektet. www.dekom.se So far so good... Till mitt problem. När man klickar upp ett projekt för att läsa mer så ha
Läs frågan i sin helhet →det är:
portfolioHover = {
in: function(){
$(this).find("img").fadeTo(360,0.30);
},
out: function() {
$(this).find("img").fadeTo(360,1);
}
},
den gnäller på, rad 42, "in" är förmodligen inte riktigt rätt där ;)
portfolioHover = {
"in": function(){
$(this).find("img").fadeTo(360,0.30);
},
"out": function() {
$(this).find("img").fadeTo(360,1);
}
},
kommer nog fungera bättre
Flyttade allt med portfolio till ett objekt:
$(document).ready(function() {
var
carouselOptions = {
width: 955,
scroll: {
items: 1,
duration: 500,
pauseOnHover: true,
mousewheel: true
},
auto: {
play: false,
pauseDuration: 5000,
delay: 2000
},
items: {
visible: 4
},
prev: {
button : "#portfolio-prev",
key : "left"
},
next : {
button : "#portfolio-next",
key : "right"
}
},
portfolio = {
hoverIn: function(){
$(this).find("img").fadeTo(360,0.30);
},
hoverOut: function() {
$(this).find("img").fadeTo(360,1);
},
open = function(e) {
var id = this.id.split("-")[1];
$("#"+ id).fadeIn(600);
$("#"+ id + "-slider").nivoSlider({
effect:'fade',
animSpeed:150,
manualAdvance:true,
directionNav:true,
pauseOnHover:true
});
e.preventDefault();
}
};
// Portfolio
$("#portfolio ul").carouFredSel(carouselOptions)
.find("li")
.hover(portfolio.hoverIn, portfolio.hoverOut)
.find("a")
.click(portoflio.open);
$('.portfolio-back').click(function(){
$('.explore-portfolio').fadeOut(600,function(){$('#portfolio').fadeIn(600);});
return false;
});
});
Det funkar inte alls, massa fel nu ;)
Men jag testade med ovan och den reagerar på massa ställen.
fungera för mig, du måste ju uppdatera anropen med:
....hover(portfolio.hoverIn, portfolio.hoverOut)
.find("a")
.click(portoflio.open);
...
Om jag använder "in" och "out" så kommer jag förbi det bekymret, nästa steg är:
.hover(portfolioHover.in, portfolioHover.out)
Fel på den raden.
Ja, eftersom in är reserverat ord i Javascript det är därför jag har byggt om objektet portfolio, läs igenom all kod.
Självklart uppdaterade jag anropen, men den reagerade först på open = function.
Självklart uppdaterade jag anropen, men den reagerade först på open = function.
Nej det hade du inte gjort, eftersom in och out inte finns längre.
Om du vill köra med in exempelvis så få du köra:
.hover(portfolioHover["in"], portfolioHover["out"])
ahh, miss av mig, läs felmeddelandet ;) "=" skall det ju inte vara :)
portfolio = {
hoverIn: function(){
$(this).find("img").fadeTo(360,0.30);
},
hoverOut: function() {
$(this).find("img").fadeTo(360,1);
},
open: function(e) {
var id = this.id.split("-")[1];
$("#"+ id).fadeIn(600);
$("#"+ id + "-slider").nivoSlider({
effect:'fade',
animSpeed:150,
manualAdvance:true,
directionNav:true,
pauseOnHover:true
});
e.preventDefault();
}
};
är det korrekta objektet ;)
Det listade ju jag ut direkt men det är ett fel till och det är felstavningen på "portfolio" vid anropen. Men nu verkar allt fungera riktigt bra och jag har lärt mig sjukt mycket av det här. Intressant och riktigt lärorikt.
Tack Voigt!
Glöm inte sätt tråden som löst ;)
Självklart löser jag det. vet bara inte vilket av alla svar jag ska markera som lösning. Hehe! Återigen Voigt, tack som fan! Uppskattas verkligen!
Vad tycker du om upplägget med portfolion då?
Du skall inte fråga mig om design råd ;) HTML strukturen hade jag kanske gjort annolunda, AJAX callcks och fått sidan att fungera utan JS, utan alla features. Men thats just me :)
vet bara inte vilket av alla svar jag ska markera som lösning.
Betrakta http://www.webforum.nu/showthread.php?t=179609&page=4#85
