molty Skrevet 8. april 2011 Del Skrevet 8. april 2011 God dag kjære diskusjon borgere Jeg prøver å legge sammen en sum, hvor jeg får en verdi fra en variabel fra javascript, og en annen verdi fra en variabel fra php. Jeg lurte på hvordan det (om mulig) det vil være mulig å legge disse 2 tallene sammen i php, eller lagre det i en php variabel. - Molty Lenke til kommentar
nwinger Skrevet 8. april 2011 Del Skrevet 8. april 2011 Har du skrevet noe kode, slik at vi kan få noe å gå etter? Lenke til kommentar
molty Skrevet 9. april 2011 Forfatter Del Skrevet 9. april 2011 For å gjøre det litt enklere (tror eg) så skal eg bruke det til å finne en posisjon til et element på siden eg vedlikeholder. Javascript delen jeg har skal da si hvor langt det fra helt fra top og left inn til et element de andre elementene skal være inni Jeg bruker jquery og lagrer også informasjonen inni $(document).ready() hvis det her noe å si. Jeg har da 2 "matteoppgaver" å regne sammen. Den første variabelen min boxLeft (javascript variabel) med pos[0] (php variabel) og så boxTop med pos[1] Måtte bruke en midlertidig løsning i går siden eg ikke fant ut noe. Kjørte en $.get funksjon og lagret en session verdi i php slik jeg kunne hente fra der. Men det resulterer i at man av og til må reloade siden på nytt for at posisjonene skal holdes. Er ikke noe særlig kodet noe særlig utenom å splitte variablene $positions = split("x", $_SESSION['positions']); // session blir laget via jquery $pos = split("x", $box['positions']); // Henter ut posisjon fra en boks. Og hvis den ovenfor er 0x0 skal posisjonen egentlig være left: " . $positions[0] ."px; top: ". $popsitions[1] . "px; Men jeg vil heller at den ikke skal hente fra en session men fra javascript direkte. Noe mer du/dere lurer på? - Molty Lenke til kommentar
Milktea Skrevet 9. april 2011 Del Skrevet 9. april 2011 Synes dette virker som en litt diffus problemstilling, kanskje fordi du ikke forteller hvilket problem dette skal løse. Men du sier altså at du vil summere en variabel fra JS og en fra PHP, og at du dessuten ønsker å bruke PHP for å generere summen, eller at summen i det minste skal være tilgjengelig i PHP. First off, hvorfor i all verden må PHP ha summen tilgjengelig? Dersom dette skal brukes til å printe ut offset til et eller flere element på siden er det jo mye mer hensiktsmessig å endre posisjonen(e) med JS. Er det i det hele tatt noen grunn til at PHP må være involvert her etter at siden er generert? Ser virkelig ikke hvor du vil med dette, men her er et par scenariorer som kanskje er relevante: Dersom du har en eller flere verdier som du trenger tilgjengelig etter at siden er kjørt kan du skrive de ut som Javascript-variabler og bruke de om du skulle trenge det. echo <<<EOT <script type="text/javascript"> var from_php = {$php_var}; </script> EOT; Dersom du av en eller annen grunn trenger klientdata som bare er tilgjengelig via Javascript (da snakker du om ganske spesialisert informasjon, movement tracking eller liknende), kan du selvfølgelig bruke AJAX til å sende dette til serveren etter at siden er lastet inn, evt. få sendt noe tilbake også om du har behov for det. Merk deg bare at med mindre du skal ha tak ny informasjon finnes det ingen gode grunner til å involvere PHP til å endre på en nettside etter at den er generert. I det hele tatt virker det som det du prøver å gjøre er å endre utseende til en side ved å la PHP få data fra JS og deretter få PHP til å skrive ut CSS, noe som er utrolig tungvindt måte å gjøre ting på. Er det noen grunn til at du ikke bare kan bruke CSS, evt. hjelpe til litt med JS? Lenke til kommentar
molty Skrevet 11. april 2011 Forfatter Del Skrevet 11. april 2011 Takk for svar Milktea, men det hjalp ikke meg noe særlig. Det jeg trenger outputen til er å slenge inn i en funksjon som henter ut en style og innhold. Hvorfor jeg tok det som en funksjon, var for å holde det litt mer ryddig i selve filen. Endte opp med å lagre det i en session via jquery sin $.get funksjon og bruke den sånn som jeg egentlig hadde lagd den. Men gjorde også slik at den reloadet siden på nytt hvis den session jeg ville ha var lagret. Og dermed gikk det greit Ja, jeg kan ikke bruke CSS slik jeg vil her fordi jeg bruker position: absolute; og left og top for å plassere. Ettersom jeg har forstått da, vil den ta "nullpunktene" oppe til venstre i vinduet. Og siden det er forskjellige størrelser på pc'er vil mesteparten få en ulik plassering på nettsiden. Og av den grunn har jeg vært opptatt av å finne posisjonen til boksen de skal ligge inni. Vil si at saken er løst, men kom gjerne med forslag hvis dere ønsker. Molty Lenke til kommentar
Jonas Skrevet 11. april 2011 Del Skrevet 11. april 2011 Dette er naturligvis en helt vanvittig dårlig måte å løse et problem som sannsynligvis er forholdsvis simpelt. Hadde du bare forklart problemstillingen til å begynne med, så kunne vi kommet med ordentlige løsninger helt fra starten av. Forklar oss heller designet du ønsker å oppnå og hvorfor du ikke har klart dette med CSS. Lenke til kommentar
Milktea Skrevet 11. april 2011 Del Skrevet 11. april 2011 Får jeg tippe på at du prøver å midtstille en boks både horisontalt og vertikal, eller? position: absolute; top: 50%; left: 50%; width: 800px; height: 600px; margin-left: -400px; /* width/2 */ margin-top: -300px; /* height/2 */ background: #000000; Lenke til kommentar
molty Skrevet 12. april 2011 Forfatter Del Skrevet 12. april 2011 Jeg har et felt som står midtstilt på siden og noen px fra toppen. Inni det feltet skal det være mulig å flytte på bokser. Grunnen til at jeg ikke kan bruke css i dette tilfellet er fordi at nesten hver enkelt person har forskjellig størrelser på skjermen sin, og ettersom boksen er midtstilt og av den grunn får forskjellig posisjon fra hver pc. Inni dette elementet som er midtstilt, skal det da være flere bokser o.l som kan flyttes rundt. For å få de i riktig posisjon på hver enkelt pc, må jeg ha posisjonen til boksen inni elementet. og den får jo da posisjonen helt fra toppen av venstre hjørne. og siden neste hver person har forskjellig størrelse på skjermer, blir jo da posisjonen til boksen inni elementet forskjellig hos alle. Derfor har jeg da vært på utgitt etter en måte slik at jeg kan legge til posisjonen til elementet som skal ha alle boksene og plusse på posisjonen til boksen inni elementet. Lenke til kommentar
molty Skrevet 12. april 2011 Forfatter Del Skrevet 12. april 2011 Ser ut som eg har tatt feil her. Gikk visst ann å løse dette i css. Som ikke er sagt, så er jeg ikke noe særlig god på css, og fant ut at eg kunne sette position:relative; på elementet boksene skal være inni, og av den grunn slipper jeg å gjøre det jeg har prøvd her. Takk til dere som har prøvd å åpne øynene mine, nå er saken VIRKELIG løst. - Molty Lenke til kommentar
Milktea Skrevet 12. april 2011 Del Skrevet 12. april 2011 (endret) Mm, ja. Er nok ikke nødvendig med å involvere PHP i dette her, nei. Hvis du tar en kikk på W3Schools sin side om CSS position kan du lese følgende: absolute --- Generates an absolutely positioned element, positioned relative to the first parent element that has a position other than static. The element's position is specified with the "left", "top", "right", and "bottom" properties Med andre ord trenger du bare å sette "position: relative" på hovedboksen din, deretter kan du bruke "position: absolute" på alle elementene under. Deres origo ("0, 0") blir da oppe i det venstre hjørnet til hovedboksen. Her er et lite eksempel: <body> <div style="position: relative; margin: 50px auto; width: 800px; height: 600px; background: #efefef;"> <div style="top: 50px; left: 50px; position: absolute; width: 100px; height: 100px; background: #dedede;"></div> <div style="top: 100px; left: 100px; position: absolute; width: 100px; height: 100px; background: #cdcdcd;"></div> </div> </body> Edit: 2 min for sen Endret 12. april 2011 av Milktea Lenke til kommentar
molty Skrevet 12. april 2011 Forfatter Del Skrevet 12. april 2011 Gjelder å være fort ute men ja, det gikk - Molty Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå