DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Sva početnička pitanja (http://www.devprotalk.com/forumdisplay.php?f=40)
-   -   Java unutar jave??? (http://www.devprotalk.com/showthread.php?t=10375)

AdriaMart 16. 09. 2011. 15:05

Java unutar jave???
 
Imam u javascript kodu:
var html = '<div class="m_tooltip"><table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2" valign="top"><div align="center">' + name + '</div></td></tr><tr><td width="50%" valign="top"><img src="' + address + '" alt="" width="150" border="0" /><br></td><td width="50%" align="center" valign="middle"><a href="' + totolink + '"><img src="buy_btn.png" width="70" height="30" border="0" /></a></td></tr><tr><td colspan="2" valign="top" bgcolor="#999999"><div align="center">BETA!</div></td></tr></table></div>';

i ovde bi zeleo da dodam ''share button'' kod koji sam dobio koji je takodje javascript... interesuje me kako da ubacim ''share button'' kod u ovaj moj html... jer koliko znam mogu samo html elementi da se dodaju... jedino resenje je iframe ili ???

webarto 16. 09. 2011. 15:10

Javascript...

AdriaMart 16. 09. 2011. 15:21

Da u pitanju je java script unutar javascript koda ... kako da to resim... tacnije zelim da u infowindowu postavim ''share'' kod, medjutim sve sto se nalazi u infowindowu mora da bude html elemenat... kako da to resim???

webarto 16. 09. 2011. 15:22

Daj taj share code, nije svaki isti, pretpostavljam da misliš na FB...

AdriaMart 16. 09. 2011. 15:35

1. timer- odbrojava koliko je ostalo do kraja dana... tacnije countdown

<script language="JavaScript">
TargetDate = "12/31/2020 11:00 PM";
BackColor = "palegreen";
ForeColor = "navy";
CountActive = true;
CountStepper = -1;
LeadingZero = true;
DisplayFormat = "%%H%% c, %%M%% min, %%S%% sek.";
FinishMessage = "It is finally here!";
</script>
<script language="JavaScript" src="http://pluspon.com/countdown.js"></script>




<!-- AddThis Button BEGIN -->
<div class="addthis_toolbox addthis_default_style ">
<a class="addthis_button_preferred_1"></a>
<a class="addthis_button_preferred_2"></a>
<a class="addthis_button_preferred_3"></a>
<a class="addthis_button_preferred_4"></a>
<a class="addthis_button_compact"></a>
<a class="addthis_counter addthis_bubble_style"></a>
</div>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-4e73498777e277a7"></script>
<!-- AddThis Button END -->



<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<div class="fb-like" data-href="www.pluspon.com" data-send="true" data-width="450" data-show-faces="true"></div>

webarto 16. 09. 2011. 15:51

Ovo učitaj normalno, možeš dole iznad </body> postaviti da budeš siguran da se DOM učitao...

PHP kôd:

<script language="JavaScript" src="http://pluspon.com/countdown.js"></script>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-4e73498777e277a7"></script>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script> 

E sad ovo bi trebalo nešto ovako da izgleda... ukini dole multiline, to sam ostavio da vidiš šta je promjenjeno, trebalo bi ovako da upali, ali nije ovo pravi način da to radiš...

PHP kôd:

var html '<div class="m_tooltip">
<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2" valign="top"><div align="center">' 
name '</div></td></tr><tr><td width="50%" valign="top"><img src="' address '" alt="" width="150" border="0" /><br></td><td width="50%" align="center" valign="middle"><a href="' totolink '"><img src="buy_btn.png" width="70" height="30" border="0" /></a></td></tr><tr><td colspan="2" valign="top" bgcolor="#999999"><div align="center">BETA!</div></td></tr></table>

<span id="cntdwn"></span>

<div id="fb-root"></div>
<div class="fb-like" data-href="www.pluspon.com" data-send="true" data-width="450" data-show-faces="true"></div>

<div class="addthis_toolbox addthis_default_style ">
<a class="addthis_button_preferred_1"></a>
<a class="addthis_button_preferred_2"></a>
<a class="addthis_button_preferred_3"></a>
<a class="addthis_button_preferred_4"></a>
<a class="addthis_button_compact"></a>
<a class="addthis_counter addthis_bubble_style"></a>
</div>

</div>'


Ovaj countdown.js zamjeni sa ovime...

PHP kôd:

function calcage(secsnum1num2) {
  
= ((Math.floor(secs/num1))%num2).toString();
  if (
LeadingZero && s.length 2)
    
"0" s;
  return 
"<b>" "</b>";
}

function 
CountBack(secs) {
  if (
secs 0) {
    
document.getElementById("cntdwn").innerHTML FinishMessage;
    return;
  }
  
DisplayStr DisplayFormat.replace(/%%D%%/gcalcage(secs,86400,100000));
  
DisplayStr DisplayStr.replace(/%%H%%/gcalcage(secs,3600,24));
  
DisplayStr DisplayStr.replace(/%%M%%/gcalcage(secs,60,60));
  
DisplayStr DisplayStr.replace(/%%S%%/gcalcage(secs,1,60));

  
document.getElementById("cntdwn").innerHTML DisplayStr;
  if (
CountActive)
    
setTimeout("CountBack(" + (secs+CountStepper) + ")"SetTimeOutPeriod);
}

if (
typeof(BackColor)=="undefined")
  
BackColor "white";
if (
typeof(ForeColor)=="undefined")
  
ForeColor"black";
if (
typeof(TargetDate)=="undefined")
  
TargetDate "12/31/2020 5:00 AM";
if (
typeof(DisplayFormat)=="undefined")
  
DisplayFormat "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";
if (
typeof(CountActive)=="undefined")
  
CountActive true;
if (
typeof(FinishMessage)=="undefined")
  
FinishMessage "";
if (
typeof(CountStepper)!="number")
  
CountStepper = -1;
if (
typeof(LeadingZero)=="undefined")
  
LeadingZero true;


CountStepper Math.ceil(CountStepper);
if (
CountStepper == 0)
  
CountActive false;
var 
SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 990;
var 
dthen = new Date(TargetDate);
var 
dnow = new Date();
if(
CountStepper>0)
  
ddiff = new Date(dnow-dthen);
else
  
ddiff = new Date(dthen-dnow);
gsecs Math.floor(ddiff.valueOf()/1000);
CountBack(gsecs); 


AdriaMart 16. 09. 2011. 16:19

''nije ovo pravi nacin da to radis''

@webarto - Sta preporucujes? Koje je najbolje resenje?

webarto 16. 09. 2011. 16:39

Pa ne znam je li najbolje, ali uradi ovo preko AJAX, učitaj po potrebi, a lakše će ti biti sve ovo uraditi u PHP, najbolje bi bilo MVC pattern da koristiš, odnosno template sistem.

Br@nkoR 16. 09. 2011. 17:25

Pošto se taj html kod dodaje kasnije, posle učitavanja dokumenta potrebno je da se taj dodatni JavaScript izvrši posle dodavanja tog novog html koda u dokument. Pogledaj dokumentaciju za Google Maps API za InfoWindow klasu ima događaj domready koji će biti pozvan posle dodavanja html koda u infowindow ili pokušaj JavaScript kod pozoveš posle infoWindow.setContent(). A takođe možeš pokušati i da parsiraš taj html kod i izvučeš sav JavaScript kod između html script tagova i da ga izvršiš pomoću eval JavaScript funkcije. Ili kao i što si napisao da koristiš iframe.

AdriaMart 16. 09. 2011. 17:50

Ovo sa iframom je nekako najlakse , samo neznam koliko je to dobro resenje ???

imam ovde takodje nekih problema sa checkboxovima: http://www.pluspon.com/pon4.html
(ukucajte beograd pa zatim open da nestane layer1-/ima neka sitna greska)
Umesto obicnih checkboxova ubacio sam jquery checkboxove i pojavljuju se ali nerade a sve sam odradio po uputstvu: http://aaronweyenberg.com/90/pretty-...es-with-jquery


ili malo jasnije ... imao sam kod:
<p>
<input name="checkbox" type="checkbox" id="restaurantCheckbox" onclick="toggleGroup('restaurant')" checked="checked" />
Restaurants <br/>
<input name="checkbox2" type="checkbox" id="barCheckbox" onclick="toggleGroup('bar')" checked="checked"/>
Bars </p>


i trebao sam da zamenim sa ovim kodom:
<form action="">
<fieldset>
<legend>Choose some stuff...</legend>
<ul class="checklist">
<li>
<input name="jqdemo" value="value1" type="checkbox" id="choice_a"/>
<label for="choice_a">Here's the 1st selection</label>
<a class="checkbox-select" href="#">Select</a>
<a class="checkbox-deselect" href="#">Cancel</a>
</li>
<li>
<input name="jqdemo" value="value2" type="checkbox" id="choice_b"/>
<label for="choice_b">Here's the 2nd selection</label>
<a class="checkbox-select" href="#">Select</a>
<a class="checkbox-deselect" href="#">Cancel</a>
</li>

</ul>
<div style="clear: both;"></div>
<button class="sendit" type="submit" name="submitbutton" title="Submit the form">Send it!</button>
</fieldset>
</form>



Spajanjem sam dobio ovaj kod:
<form action="">
<fieldset>
<legend>Choose some stuff...</legend>
<ul class="checklist">
<li>
<input name="checkbox" value="value1" type="checkbox" id="restaurantCheckbox" onclick="toggleGroup('restaurant')" checked="checked"/>
<label for="restaurantCheckbox">Restorani</label>
<a class="checkbox-select" href="#">Select</a>
<a class="checkbox-deselect" href="#">Cancel</a> </li>
<li>
<input name="checkbox2" value="value2" type="checkbox" id="barCheckbox" onclick="toggleGroup('bar')" checked="checked"/>
<label for="barCheckbox">Here's the 2nd selection</label>
<a class="checkbox-select" href="#">Select</a>
<a class="checkbox-deselect" href="#">Cancel</a> </li>

</ul>
<div style="clear: both;"></div>
<button class="sendit" type="submit" name="submitbutton" title="Submit the form">Send it!</button>
</fieldset>
</form>


Medjutim postoji negde greska...

Sta bi moglo da bude problem???

Br@nkoR 16. 09. 2011. 20:38

Problem je u tome što se klikom na linkove .checkbox-select odnosno .checkbox-deselect ne poziva događaj click input checkbox polja, dakle ne poziva se toggleGroup('restaurant') odnosno toggleGroup('bar').

AdriaMart 16. 09. 2011. 22:21

e da, nisam to primetio da nepostoji onlick funkcija... hvala

Br@nkoR 17. 09. 2011. 11:34

Mogao si umesto:
Kôd:

$(this).parent().find(":checkbox").attr("checked","checked");
da staviš
Kôd:

$(this).parent().find(":checkbox").attr("checked","checked").click();
i umesto:
Kôd:

$(this).parent().find(":checkbox").removeAttr("checked");
da staviš:
Kôd:

$(this).parent().find(":checkbox").removeAttr("checked").click();

AdriaMart 17. 09. 2011. 13:07

Da i to je dobro resenje... da se vratim na staru temu... da li je moguce nekako da u javascript kodu napravim npr. var timer ili var share i kasnije bi mi bilo lakse da integrisem to u infoWindow?

Br@nkoR 17. 09. 2011. 13:38

A šta treba da sadrže te dve promenljive?

Ono što sam ja mislio u poruci koji sam napisao.
npr. u HEAD deo stranice dodaj:
Kôd:

<script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-4e73498777e277a7"></script>
<script language="JavaScript" src="countdown.js"></script>

A da ne obrašnjavam, umesto:
Kôd:

var html = '<div class="m_tooltip"><table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2" valign="top"><div align="center">' + name + '</div></td></tr><tr><td width="50%" valign="top"><img src="' + address + '" alt="" width="150" border="0" /><br></td><td width="50%" align="center" valign="middle"><a href="' + totolink + '"><img src="buy_btn.png" width="70" height="30" border="0" /></a></td></tr><tr><td colspan="2" valign="top" bgcolor="#999999"><div align="center">BETA!</div></td></tr></table></div>';
stavi:
Kôd:

TargetDate = "12/31/2020 11:00 PM";
BackColor = "palegreen";
ForeColor = "navy";
CountActive = true;
CountStepper = -1;
LeadingZero = true;
DisplayFormat = "%%H%% c, %%M%% min, %%S%% sek.";
FinishMessage = "It is finally here!";

var html = '<div class="m_tooltip"><table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2" valign="top"><div align="center">' + name + '</div></td></tr><tr><td width="50%" valign="top"><img src="' + address + '" alt="" width="150" border="0" /><br></td><td width="50%" align="center" valign="middle"><a href="' + totolink + '"><img src="buy_btn.png" width="70" height="30" border="0" /></a></td></tr><tr><td colspan="2" valign="top" bgcolor="#999999"><div align="center">BETA!</div></td></tr></table>'; 

html += "<span id='cntdwn' style='background-color:" + BackColor + "; color:" + ForeColor + "'></span>";
     
html += '<div id="fb-root"></div><div class="fb-like" data-href="www.pluspon.com" data-send="true" data-width="280" data-show-faces="true"></div>';
     
html += '<div id="toolbox"><div class="addthis_toolbox addthis_default_style "><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a><a class="addthis_counter addthis_bubble_style"></a></div></div>';
html += '</div>';
     
google.maps.event.addListener(infoWindow, 'domready', function () {
  CountBack(gsecs);
  FB.init({
    appId  : 'YOUR APP ID',
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true, // parse XFBML
    channelURL : 'http://WWW.MYDOMAIN.COM/channel.html', // channel.html file
    oauth  : true // enable OAuth 2.0
  });
  addthis.toolbox("#toolbox");
});
     
google.maps.event.addListener(infoWindow, 'closeclick', function () {
  clearTimeout(cd_st);
});

A u countdown.js fajl stavi:
Kôd:

/*
Author: Robert Hashemian
http://www.hashemian.com/

You can use this code in any manner so long as the author's
name, Web address and this disclaimer is kept intact.
********************************************************
Usage Sample:

<script language="JavaScript">
TargetDate = "12/31/2020 5:00 AM";
BackColor = "palegreen";
ForeColor = "navy";
CountActive = true;
CountStepper = -1;
LeadingZero = true;
DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";
FinishMessage = "It is finally here!";
</script>
<script language="JavaScript" src="http://scripts.hashemian.com/js/countdown.js"></script>
*/


function calcage(secs, num1, num2) {
  s = ((Math.floor(secs/num1))%num2).toString();
  if (LeadingZero && s.length < 2)
    s = "0" + s;
  return "<b>" + s + "</b>";
}

function CountBack(secs) {
  if(document.getElementById("cntdwn") === null) {
    return;
  }
  if (secs < 0) {
    document.getElementById("cntdwn").innerHTML = FinishMessage;
    return;
  }
  DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));
  DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));
  DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
  DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));

  document.getElementById("cntdwn").innerHTML = DisplayStr;
  if (CountActive)
    cd_st = setTimeout("CountBack(" + (secs+CountStepper) + ")", SetTimeOutPeriod);
}

function putspan(backcolor, forecolor) {
 document.write("<span id='cntdwn' style='background-color:" + backcolor +
                "; color:" + forecolor + "'></span>");
}

if (typeof(BackColor)=="undefined")
  BackColor = "white";
if (typeof(ForeColor)=="undefined")
  ForeColor= "black";
if (typeof(TargetDate)=="undefined")
  TargetDate = "12/31/2020 5:00 AM";
if (typeof(DisplayFormat)=="undefined")
  DisplayFormat = "%%D%% Days, %%H%% Hours, %%M%% Minutes, %%S%% Seconds.";
if (typeof(CountActive)=="undefined")
  CountActive = true;
if (typeof(FinishMessage)=="undefined")
  FinishMessage = "";
if (typeof(CountStepper)!="number")
  CountStepper = -1;
if (typeof(LeadingZero)=="undefined")
  LeadingZero = true;


CountStepper = Math.ceil(CountStepper);
if (CountStepper == 0)
  CountActive = false;
var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;
//putspan(BackColor, ForeColor);
var dthen = new Date(TargetDate);
var dnow = new Date();
if(CountStepper>0)
  ddiff = new Date(dnow-dthen);
else
  ddiff = new Date(dthen-dnow);
gsecs = Math.floor(ddiff.valueOf()/1000);
//CountBack(gsecs);

Naravno ti podesi html kod kako tebi odgovara, a takođe podesi i FB kod jer sam ja samo prekopirao sa njihovog sajta a takođe i za addthis jer nikada nisam koristio to.

AdriaMart 17. 09. 2011. 15:47

Promenljiva timer treba da sadrzi brojac koji meri koliko je ostalo do kraja dana...(sati,minuta i sekundi) a promenljiva share da sadrzi facebook kod... i kasnije bih lako to integrisao u promenljivu html npr. ' + timer + ' ... itd.

Probacu ovako kako si ti napisao sigurno je dobro resenje a ako ne onda preko iframe-a.

mangia 17. 09. 2011. 16:54

Aj za boga miloga neka neko od moderatora prepravi naslov teme...

Ovo nema veze sa Javom...

AdriaMart 17. 09. 2011. 17:01

Upravu si,slazem se, napisao sam los naslov. Neka moderator ovo promeni i ako moze postavi u odgovarajucu sekciju foruma.

Br@nkoR 17. 09. 2011. 18:56

Citat:

Originalno napisao AdriaMart (Napišite 101658)
Promenljiva timer treba da sadrzi brojac koji meri koliko je ostalo do kraja dana...(sati,minuta i sekundi) a promenljiva share da sadrzi facebook kod... i kasnije bih lako to integrisao u promenljivu html npr. ' + timer + ' ... itd.

Probacu ovako kako si ti napisao sigurno je dobro resenje a ako ne onda preko iframe-a.

U kodu koji sam postavio razdvojeni su html kodovi za counter, FB i AT, pa ti možeš ukoliko ti je potrebno da staviš u posebne promenljive.

webarto 17. 09. 2011. 19:06

Branko, svaka tebi čast :)

Br@nkoR 17. 09. 2011. 19:20

:) Hvala.

AdriaMart 17. 09. 2011. 20:08

Citat:

Originalno napisao webarto (Napišite 101633)
Javascript...

Upravu si 1000% !!!

webarto 17. 09. 2011. 21:22

Jesam. Nisi shvatio šta je Javascript, ubićeš svaki browser ako budeš tako radio, još jednom... AJAX. Učitaš prvo glavne biblioteke, učitaš DOM po potrebi, asinhrono, i onda opališ ovaj kako da ga nazovem, pokretački script... Branku svaka čast zato što sto u svakoj temi te ispravlja i pomaže ali siguran sam da i on ne bi tako radio. Ako ne znaš, pitaj kako ću to i to, a nemoj raditi nešto pa prepravljati ono što ne valja, prijateljski savjet.

AdriaMart 18. 09. 2011. 16:31

Tokom ovih diskusija dosta sam toga naucio ... Branku najlepse hvala sto pomaze pri svakom problemu. Naravno da znam sta je javascript ali uvek pri pisanju umesto javascript napisem java sto je naravno velika greska. Kako to mislis ''ubices svaki browser''

Sta predlazes, koje je po tebi i Br@nku najbolje resenje ??? Kako bi Vi radili?

Daj neki tutorial i sl.


Vreme je GMT +2. Trenutno vreme je 13:05.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.