Ru-Board.club
← Вернуться в раздел «Web-программирование»

» вопросы по javascript

Автор: Mavrikii
Дата сообщения: 02.04.2015 05:21
ManHunter

Цитата:
document.getElementById('idType1')['onchange'].call();

это где вы такое видели? речь же о слушателе событий, а не атрибуте onchange.
Автор: vs6262
Дата сообщения: 13.04.2015 05:18
кто подскажет как в string проще заменить все "\n" на "<br />" ?
Автор: Mavrikii
Дата сообщения: 13.04.2015 05:33
vs6262

Код: str = str.replace(/(?:\r\n|\r|\n)/g, '<br />');
Автор: vs6262
Дата сообщения: 27.04.2015 14:08
вопрос
есть онлайн Shop в нем есть сверху баннер.

возможно ли с пом. JS опросить к какому объекту(чтобы сделать так чтобы картинки автоматом каждую неделю менялись) привязан баннер ?
Автор: Mavrikii
Дата сообщения: 27.04.2015 19:26
vs6262

Цитата:
JS опросить к какому объекту(чтобы сделать так чтобы картинки автоматом каждую неделю менялись) привязан баннер

чего?
Автор: vs6262
Дата сообщения: 27.04.2015 21:39

Цитата:
чего?

извеняюсь, посмотрел а там относительные пути к картинкам.

вопрос снят.
Автор: ShaDOWNIK
Дата сообщения: 30.04.2015 11:32
Добрый день, нашел вот такую функцию для транслитерации символов с европейских языков на латиницу
https://gist.github.com/goliatone/173fb2b810a65d0c5cbc

переделал его, чтобы понимал кириллицу
$(document).ready(function() {
    var slug = function(str) {
    
     str = str.replace(/^\s+|\s+$/g, ''); // trim
     str = str.toLowerCase();
     // remove accents, swap &#241; for n, etc
     var from = '&#227;&#224;&#225;&#228;&#226;&#7869;&#232;&#233;&#235;
&#234;&#236;&#237;&#239;&#238;&#245;&#242;&#243;&#246;&#244;&#249;&#250;
&#252;&#251;&#241;&#231;
·/_,:;абвгдеёзийклмнопрстуфхцэы';
     var to = 'aaaaaeeeeeiiiiooooouuuunc------abvgdeeziyklmnoprstufhcey';
     for (var i=0, l=from.length ; i<l ; i++) {
        str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));
     }
     str = str.replace(/[^a-z0-9 -]/g, '') // remove invalid chars
        .replace(/\s+/g, '-') // collapse whitespace and replace by -
        .replace(/-+/g, '-'); // collapse dashes
    
     return str;
    };
но проблема с буквами, которые в латинице состоят из нескольких букв (ж - zh, 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sch', 'ю' => 'yu', 'я' => 'ya') пытался их через условие проверять но нечего не получилось, как сделать правильно, чтобы скрипт обрабатывал и такие буквы.

помогите пожалуйста.
ps. здесь на сайте европейские символы выделенные цветом переведены почему-то в ascii коды, поэтому для того, чтобы понять что на что меняется лучше смотреть с оригинала скрипта, мною дописаны буквы русского языка
Автор: unreal666
Дата сообщения: 30.04.2015 13:04
ShaDOWNIK
Сделать переменную to не как строку, а как масссив + заменить to.charAt(i) на [no]to[i][/no].
Автор: ShaDOWNIK
Дата сообщения: 30.04.2015 13:12
unreal666

огромное спасибо
Автор: SAT31
Дата сообщения: 06.06.2015 17:16
Только начал разбираться в HTML и JavaScript. Появился вопрос: имеется пример кода Java из Processing

Код: int barWidth = 20;
int lastBar = -1;

void setup() {
size(640, 360);
colorMode(HSB, width, 100, width);
noStroke();
background(0);
}

void draw() {
int whichBar = mouseX / barWidth;
if (whichBar != lastBar) {
int barX = whichBar * barWidth;
fill(barX, 100, mouseY);
rect(barX, 0, barWidth, height);
lastBar = whichBar;
}
}
Автор: ManHunter
Дата сообщения: 06.06.2015 17:55
Java - это НЕ JavaScript
Автор: Mavrikii
Дата сообщения: 06.06.2015 21:54
ManHunter
ну тут несколько иная штука.. есть библиотека на js, которая делает это (работает с языком Processing) в канвасе
пример - http://jsfiddle.net/78upjuyw/

SAT31
Вам нужно сначала подгрузить https://processing.org/javascript/processing.js
а затем, в теге
<script type="application/processing"> </script> написать свой код.
ну и как в примере выше - нужен канвас, в котором будет отрисовка.

вот, собственно, так - http://jsfiddle.net/78upjuyw/1/
Автор: vs6262
Дата сообщения: 08.06.2015 16:47

Цитата:
ManHunter
ну тут несколько иная штука.. есть библиотека на js, которая делает это (работает с языком Processing) в канвасе
пример - http://jsfiddle.net/78upjuyw/

SAT31
Вам нужно сначала подгрузить https://processing.org/javascript/processing.js
а затем, в теге
<script type="application/processing"> </script> написать свой код.
ну и как в примере выше - нужен канвас, в котором будет отрисовка.

вот, собственно, так - http://jsfiddle.net/78upjuyw/1/


раз уж такое бывает,
возможно ли по этому методу сделать следующее:

весь экран браузера, бэкгроунд транспарент,
две линии верт. и горизонт. продвигаются начиная с верхнего левого угла в правый нижний ?
PS: z-index: ~1000

реализуемо такое ли ?
Автор: Mavrikii
Дата сообщения: 08.06.2015 19:14
vs6262

Цитата:
реализуемо такое ли ?

два дива, один вся высота, второй вся ширина - двигайте как хочется.
Автор: vs6262
Дата сообщения: 09.06.2015 03:55
спс.

а я думал как же я буду линии рисовать

Добавлено:
просто бывает зацикливаешься и начинаешь тормозить - это я о себе
Автор: Mavrikii
Дата сообщения: 09.06.2015 03:58
vs6262

Цитата:
а я думал как же я буду линии рисовать

к примеру так - http://jsfiddle.net/fw1uwmyL/
Автор: vs6262
Дата сообщения: 09.06.2015 04:04
Mavrikii
а можно еще чтобы исчезали при клике мышей и опять через 60 сек инактивности начинали своё дело ?
Автор: Mavrikii
Дата сообщения: 09.06.2015 04:06
vs6262
да все можно, делайте.
Автор: vs6262
Дата сообщения: 09.06.2015 04:09
угу завтра сяду, а то завтра ко мне из телекома технарь приедет может 50.000 инет получу
Автор: Mavrikii
Дата сообщения: 09.06.2015 04:19
vs6262

Цитата:
угу завтра сяду

http://jsfiddle.net/jw0fx5Ld/
это все просто наброски, которые можно оптимизировать
а можно и просто слой с огромным прозрачным png рисунком двигать - он не будет большим по весу, зато плавнее и любой рисунок.


Цитата:
а то завтра ко мне из телекома технарь приедет может 50.000 инет получу

мало кому важные детали
Автор: vs6262
Дата сообщения: 09.06.2015 11:57
Mavrikii
Вам Орден!

а еще я видел красивый эффект

слева направо бежит по экрану пакет верт. линиий цвет, яркость и плавающие расстояниями между линиями играет как на виаланчели ?


Добавлено:
это сделает кто так сделает а нет тоже хорошо особой нужды пока нету
а если сделает - будет на складе
Автор: Mavrikii
Дата сообщения: 10.06.2015 08:47
vs6262

Цитата:
а еще я видел красивый эффект

поздравляю, а я не видел и не уверен, что хочу - вы и так безвкусицу на сайт добавили.

вот, набросал аналог старого старого скринсейвера
http://jsfiddle.net/qk9qgya9/
Автор: vs6262
Дата сообщения: 10.06.2015 14:38
Mavrikii
Primisimo

сенкс

свой сайт я сделаю заново.

если можно это же самое с, если ввести мышь в поле браузера оно исчезало и в покое опять появлялось бы ?
Автор: Mavrikii
Дата сообщения: 10.06.2015 16:45
vs6262

Цитата:
если ввести мышь в поле браузера оно исчезало и в покое опять появлялось бы

самостоятельно. пример был выше, сделать по аналогии.
какой смысл в программере, если он не пытается/не хочет учиться?
Автор: vs6262
Дата сообщения: 11.06.2015 16:55
Mavrikii

Код: <script type="text/javascript">


$(function(){
function sign(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; }
var timer = null;
var pause = false;
window.onload = function() {
    var canvas = document.getElementById("canvas");
    var ctx = canvas.getContext("2d");
var minSpeed = 3;
var maxSpeed = 6;
var frequency = 0.1;
var color = 0;
var shifts = [0, 2, 4];
var keepLines = 60;

    var W = window.innerWidth, H = window.innerHeight;
    canvas.width = W;
    canvas.height = H;
    
    var ps = [];
var lines = [];
    ps.push(new particle());
    ps.push(new particle());

function line(x1, y1, x2, y2)
{
color += frequency;
this.rgb = {
r: Math.sin(color + shifts[0]) * 127 + 128,
g: Math.sin(color + shifts[1]) * 127 + 128,
b: Math.sin(color + shifts[2]) * 127 + 128
};
this.coords = {x1: x1, x2: x2, y1: y1, y2: y2};
this.a = 1;
this.getColor = function() {
var c = "rgba(" + Math.floor(this.rgb.r) + "," + Math.floor(this.rgb.g) + "," + Math.floor(this.rgb.b) + "," + this.a + ")";
this.a -= 1 / keepLines;
if (this.a < 0) this.a = 0;
return c;
}
}
    
    function particle()
    {
        var speed, angle;
        this.pos = {x: Math.random()*W, y: Math.random()*H};
this.updateSpeedAndAngle = function(minAngle, maxAngle) {
         var minAngle = minAngle || 0;
         var maxAngle = maxAngle || 360;
         speed = (maxSpeed - minSpeed) * Math.random() + minSpeed;
         angle = Math.random()*(maxAngle - minAngle) + minAngle;
this.d = {
x: speed*Math.cos(angle*Math.PI/180),
y: speed*Math.sin(angle*Math.PI/180)
};
}
        this.updateSpeedAndAngle();
this.updatePos = function() {
this.pos.x += this.d.x;
this.pos.y += this.d.y;

if (this.pos.x < 0) {
this.pos.x = 0;
this.updateSpeedAndAngle(0, 180);
}
if (this.pos.y < 0) {
this.pos.y = 0;
this.updateSpeedAndAngle(-90, 90);
}
if (this.pos.x > W) {
this.pos.x = W;
this.updateSpeedAndAngle(90, 270);
}
if (this.pos.y > H) {
this.pos.y = H;
this.updateSpeedAndAngle(180, 360);
}
}
    }

    function draw()
    {
        ctx.globalCompositeOperation = "source-over";
ctx.clearRect(0,0,canvas.width,canvas.height);
        
        for(var i = lines.length - 1; i >= 0; i--)
        {
            var l = lines[i];
            ctx.beginPath();
         ctx.lineWidth = 1;
            ctx.moveTo(l.coords.x1, l.coords.y1);
            ctx.lineTo(l.coords.x2, l.coords.y2);
            ctx.strokeStyle = l.getColor();
            ctx.stroke();
            
if (l.a == 0) lines.splice(i, 1);
}
lines.push(new line(ps[0].pos.x, ps[0].pos.y, ps[1].pos.x, ps[1].pos.y));

for(var i = 0; i < ps.length; i++)
{
ps[i].updatePos();
        }
}
setInterval(draw, 30);
}


$(document).on('mousemove click', function() {
if (timer != null)
{
clearTimeout(timer);
timer = null;
pause = true;
$v.fadeOut('fast');
$h.fadeOut('fast');
}
timer = setTimeout(function(){ pause = false; $v.fadeIn('fast'); $h.fadeIn('fast'); }, 5000);
});
});

</script>
Автор: Mavrikii
Дата сообщения: 12.06.2015 21:51
vs6262

Цитата:
что то я не учел ?

много чего, думайте. у меня вообще ощущение, что именно это вы не делаете - не пытаетесь понять как работает, а используете уже готовое, на блюдечке.
это в корне неправильно, так как не позволит научиться делать что то свое, отличающееся.

http://jsfiddle.net/qk9qgya9/2/

Автор: vs6262
Дата сообщения: 13.06.2015 04:13
Mavrikii
сенкс

я сейчас болею
Автор: vs6262
Дата сообщения: 20.06.2015 06:07
не работает Автореспонзер http://rghost.ru/7MR8zFcQ6 - все файлы

PHP, AJAX

делал сам , несколько раз получал сообщения , а потом нет. может кто поможет/посмотрит ?

Добавлено:
ни как не дам ладу
Автор: vs6262
Дата сообщения: 20.06.2015 09:53

Код: <body>
<!-- Begin -->
<link rel="stylesheet" href="_alert.css">
<script type="text/javascript" src="_alert.js"></script>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name:<br />
<input type="text" name="fname"><br />
E-Mail:<br />
<input type="text" name="femail"><br /><br />
<input type="submit" value="Anfordern">
</form>

<?php


/**
* @name : sendMail
* @author Taslim Mazumder Sohel
* @mailsohel62@yahoo.com
* Function for sending email
*with Japanese Email Body, Subject, Sender Name.
*
* @param String $to : Receiver mail address.
* @param String $subject : email subject.
* @param int $body : mail body text.
* @param array $from_email : Sender mail address.
* @param array $from_name : Sender Name.
*
*/
function sendMail($Charset, $to, $subject, $body, $from_email,$from_name)
{
$headers = "MIME-Version: 1.0 \n" ;
$headers .= "From: " .
"".mb_encode_mimeheader (mb_convert_encoding($from_name,$Charset,"AUTO")) ."" .
"<".$from_email."> \n";
$headers .= "Reply-To: " .
"".mb_encode_mimeheader (mb_convert_encoding($from_name,$Charset,"AUTO")) ."" .
"<".$from_email."> \n";


$headers .= "Content-Type: text/plain;charset=".$Charset." \n";


/* Convert body to same encoding as stated
in Content-Type header above */

$body = mb_convert_encoding($body, $Charset,"AUTO");

/* Mail, optional paramiters. */
$sendmail_params = "-f$from_email";

mb_language("ja");
$subject = mb_convert_encoding($subject, $Charset,"AUTO");
$subject = mb_encode_mimeheader($subject);

$result = mail($to, $subject, $body, $headers, $sendmail_params);

return $result;
}


if ($_SERVER["REQUEST_METHOD"] == "POST") {
// collect value of input field
$name = $_REQUEST['fname'];
$email = $_REQUEST['femail'];
if (empty($name)||empty($email)) {
// echo "Name is empty"; <br />Bitte alles Korreckt Eingeben!
echo '<script type="text/javascript">'
         ,'_alert("Info","<br />Bitte alles Korreckt Eingeben!","OK","#CCCCCC","#000000","#3498db","transparent");'
,'</script>'
;
} else {
// echo $name;
$subject = "Subj!";
$nachricht = "Test!!!";

$from_email_from = "admin.admin@mail.ru";
$from_email_to = "andr.breil@gmail.com";

$from_name_admin = "Admin";

sendMail("UTF-8", $email, $subject, $nachricht, $from_email_from, $from_name_admin);
sendMail("UTF-8", $from_email_to, $subject, $body, $email, $name);
echo '<script type="text/javascript">'
         ,'_alert("Info","<br />Versendet!","OK","#CCCCCC","#000000","#3498db","transparent");'
,'</script>'
;
}
}
?>
<!-- Ende -->
</body>
Автор: vs6262
Дата сообщения: 23.06.2015 22:55

Код: window.opener = top;
setTimeout("window.close();", 3000); //3 sek = 3000 millisek

Страницы: 12345678910111213141516171819202122

Предыдущая тема: jQuery: Перемещение якоря на верх страницы


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.