三項演算子
9月 30, 2008 · Posted in javascript · コメントは受け付けていません。
プログラムを1から誰かに教わったわけではないので、
普通のプログラマなら知っているようなことでも、
知らないことが多い。
三項演算子、この存在を今まで知らなかった・・・
Java Script
c = a > 10 ? a : b;
if文で書くとこんな感じですかね
Java Script
if( a > 10 ){
c = a;
}else{
c = b;
}
まだ、まだ、理解していないところが多いです。
簡単な条件式なら一行で済むので楽ですね。
処理的には速いんでしょうか?
最近Javascriptにもスピードを求められるようになっています。
href取得
6月 22, 2007 · Posted in javascript · コメントは受け付けていません。
概要
マウスをロールオーバーしたときに
そのaタグのhref値を取得しようとしたのですが、
IEは親切にも絶対パスで返してくれます。
Java Script
<script language="javascript" type="text/javascript">;
function RollOver(obj){
var ob = $("txt");
ob.innerHTML = obj.getAttribute('href');
}
</script>;
IEとそれ以外のブラウザで試してください。
ここにマウスオーバーして下さい。
ありがたいようで、迷惑・・・
スクロール座標を取得する
5月 15, 2007 · Posted in javascript · コメントは受け付けていません。
概要
スクロール座標を取得する
Java Script
function scrollPos(){
if(document.all){
var scx = document.body.scrollLeft || document.documentElement.scrollLeft;
var scy = document.body.scrollTop || document.documentElement.scrollTop;
}else if(document.layers || document.getElementById){// スクロール位置をチェック(NN用)
var scx = pageXOffset;
var scy = pageYOffset;
}
return { x:scx, y:scy }
}
入力時に背景色を変える。
4月 18, 2007 · Posted in javascript · コメントは受け付けていません。
概要
テキストエリアにフォーカスされたときに背景色を変更する
Java Script
function setInputFocus(){
var inputFocus = function(elm){
elm.style.backgroundColor="#eeffee";
}
var inputBlur= function(elm){
elm.style.backgroundColor="#ffffff";
}
if (!document.getElementsByTagName){ return; }
var anchors = document.getElementsByTagName('input');
for (var i=0; i<anchors.length; i++){
var anchor = anchors[i];
var idAttribute = String(anchor.getAttribute('type'));
if ( idAttribute.toLowerCase().match('text') ){
anchor.onfocus = function () { inputFocus(this);}
anchor.onblur = function () { inputBlur(this);}
}
}
}
Event.observe(window, 'load', setInputFocus, false);
javascriptライブラリを作ろう!
4月 7, 2007 · Posted in javascript · コメントは受け付けていません。
がんばってみよう!
Java Script
var $Obj = new Object();
$Obj = {
//////オブジェクト取得///////////////
get:function(prm){
if(document.getElementById && !document.all || document.layers){
obj = document.getElementById(prm);
}else if(document.all){
obj = document.all(prm);
}
//if(!obj) alert("$Obj.get ID="+ prm +" が見つかりません");
return obj;
},
///////レイヤー半透明//////////////
alpha:function(objName,alpha){
if(typeof(objName)=="object") var alp = objName;
else var alp = $Obj.get (objName);
alp.style.Opacity = Number(alpha) / 100;
alp.style.filter = 'alpha(opacity=' + Number(alpha) + ')';
alp.style.MozOpacity = Number(alpha) / 100;
},
///////////指定したレイヤーの座標を取得///////////////
pos:function (eremID){
if(typeof(eremID)=="object") var offsetTrail = eremID;
else var offsetTrail = $Obj.get(eremID);
var offsetLeft = 0;
var offsetTop = 0;
while(offsetTrail){
offsetLeft += offsetTrail.offsetLeft;
offsetTop += offsetTrail.offsetTop;
offsetTrail = offsetTrail.offsetParent;
}
if(navigator.userAgent.indexOf("Mac") != -1 &&
typeof document.body.leftMargin != "undefined"){
offsetLeft += document.body.leftMargin;
offsetTop += document.body.topMargin;
}
return{ left:offsetLeft , top:offsetTop }
}
}
var $Brw = new Object();
$Brw = {
///////ブラウザサイズを取得する//////////////
size:function (){
var agent = navigator.userAgent;
var appna = navigator.appName;
var userOs = null;
var browser = null;
var version = null;
var ie55 = false;
if ( agent.indexOf('Win') != -1 ){
if ( appna == "Microsoft Internet Explorer" ){
version = agent.substring((agent.indexOf('MSIE')+5),(agent.indexOf('MSIE')+8));
if(Number(version)<=5.5){
ie55 = true;
}
}
}
if (document.all) {
if(window.opera || ie55){
brsHeight = document.body.clientHeight;
brsWidth = document.body.clientWidth;
}else{
brsHeight = document.documentElement.clientHeight;
brsWidth = document.documentElement.clientWidth;
}
}else if (document.getElementById && !document.all || document.layers) {
brsHeight = window.innerHeight;
brsWidth = window.innerWidth;
}
return { height:brsHeight , width:brsWidth };
}
}
var $Date = new Object();
$Date = {
////////日付取得する/////////
get:function(){
var stoday = new Date();
var syear = stoday.getYear();
if( syear < 1000) syear = syear + 1900;
var smonth = stoday.getMonth()+1;
return {
year: syear ,
month:smonth ,
date:stoday.getDate() ,
hours:stoday.getHours(),
minutes:stoday.getMinutes(),
seconds:stoday.getSeconds()
}
}
}
var $Evt = new Object();
$Evt = {
addLtn:function(elm, type, func, useCapture){
if(!elm){ return false;}
if(!useCapture){
useCapture = false;
}
if(elm.addEventListener){
elm.addEventListener(type, func, false);
}else if(elm.attachEvent){
elm.attachEvent('on'+type, func);
}else{
return false;
}
return true;
},
remLtn:function(elm, type, func, useCapture){
if(!elm){ return false;}
if(!useCapture){
useCapture = false;
}
if(elm.removeEventListener){
elm.removeEventListener(type, func, false);
}else if(elm.detachEvent){
elm.detachEvent('on'+type, func);
}else{
return false;
}
return true;
}
}
var $Ajax = new Object();
$Ajax = {
req:function(url,act){
var createXMLHttpRequest = function(func){
var XMLhttpObject = null;
if(window.XMLHttpRequest){
XMLhttpObject = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
return null;
}
}
}
if(XMLhttpObject) XMLhttpObject.onreadystatechange = func;
return XMLhttpObject;
}
var check = function(){
if((xmlhttp.readyState==4)&&(xmlhttp.status==200)){
act();
}else if(xmlhttp.readyState==4){
act();
}
}
xmlhttp = createXMLHttpRequest(check);
if(xmlhttp){
try{
xmlhttp.open("get",url, true);
xmlhttp.send(null);
}catch(e){
}
}
}
}
日付を取得する
2月 27, 2007 · Posted in javascript · コメントは受け付けていません。
概要
日付を取得する
Java Script
function hirgetDate(){//日付取得
var stoday = new Date();
var syear = stoday.getYear();
if( syear < 1000) syear = syear + 1900;
var smonth = stoday.getMonth()+1;
return {
year: syear ,
month:smonth ,
date:stoday.getDate() ,
hours:stoday.getHours(),
minutes:stoday.getMinutes(),
seconds:stoday.getSeconds()
}
}
指定したレイヤーの座標を取得
9月 16, 2006 · Posted in javascript · Comment
概要
指定したレイヤーの座標を取得します。
Java Script
function getElementPosition(eremID){
var offsetTrail = document.getElementById(eremID);
var offsetLeft = 0;
var offsetTop = 0;
while(offsetTrail){
offsetLeft += offsetTrail.offsetLeft;
offsetTop += offsetTrail.offsetTop;
offsetTrail = offsetTrail.offsetParent;
}
if(navigator.userAgent.indexOf("Mac") != -1 &&
typeof document.body.leftMargin != "undefined"){
offsetLeft += document.body.leftMargin;
offsetTop += document.body.topMargin;
}
return{ left:offsetLeft , top:offsetTop }
}
エンコード・デコード
9月 7, 2006 · Posted in javascript · コメントは受け付けていません。
HTMLにパラメータを渡す
8月 9, 2006 · Posted in javascript · コメントは受け付けていません。
Java Script
function setValue(){
paramArray = new Array();
param = document.location.search;
param = param.substring(1,param.length);
param = param.split("&");
for (i in param) {
spl = param[i].split("=");
paramArray[spl[0]] = unescape(spl[1]);
}
for (i in paramArray) {
document.forms[0].elements[i].value = paramArray[i];
}
}
マウス座標を取得する。
8月 6, 2006 · Posted in javascript · コメントは受け付けていません。
概要
prototype.jsを使用して、マウス座標を取得します。
Java Script
<script type="text/javascript">
<!--
function getMousePos(){
var mousePos = function(event){
var evnx = Event.pointerX(event);
var evny = Event.pointerY(event);
$('pos').innerHTML = (evnx + " - " + evny);
}
Event.observe(document.body, 'mousemove', mousePos, false);
} //オンロード
Event.observe(window, 'load', getMousePos, false);
-->
</script>
<div id="pos"></div>

