небольшой скриптик к вам на экран))
от вечерком этим написал скрипт, в ифрейм закину вам, посмотрите пожалуйста)) он вообще будет вставляться в игру, ну для счёта, как в игровых автоматах, только реалистичности не хватает, кажется проблема в том что числа спадают и поднимаются по функции у=х, пробывал ставить чёта другое, код вообще не работал, хоть округление было(или скорость поменять...?)..
но ни про это, вообще мне надо что бы если кто может мне помог уменьшить количество кода, и стоит ради уменьшения кода делать и добавлять объекты через DOM? просто мне надо так сказать минимизировать код или сделать оптимизацию, короче я не знаю как это называется правильно, из-за этого не буду разбрасываться фразами, или ещё куда страшней заходить в гугл)) ну смысл в том, кода меньше, а работоспособность не потеряна)) ну а исходники посмотрите уже не ленясь хоть через ctrl+u)) зайдя по src ниже)) <iframe src ='http://slawaq.hmsite.net/guestbook/test.htm'></iframe> |
поставил 0, начало бесконечно моргать, поставил -200, глюкать стало интересней. тестировать не пробовали? зачем отнимаете чужое время.
|
Стало чета интересно, накодил вот че:
<!DOCTYPE html>
<html>
<head>
<title>Цифровой дисплей</title>
<style type="text/css">
.digits li{
display: inline-block;
position: relative;
width: 62px;
height: 92px;
background: #000;
}
.digits li span{
position: absolute;
display: block;
background: #f00;
border: 1px solid #900;
opacity: 0.3;
-moz-border-radius: 2px;
}
/* horisontal segments */
.digits li .segment-1,
.digits li .segment-4,
.digits li .segment-7{
height: 2px;
width: 44px;
left: 8px;
}
.digits li .segment-1{
top: 4px;
}
.digits li .segment-4{
top: 84px;
}
.digits li .segment-7{
top: 44px;
}
/* vertical segments */
.digits li .segment-2,
.digits li .segment-3,
.digits li .segment-5,
.digits li .segment-6{
height: 30px;
width: 2px;
}
.digits li .segment-2{
top: 10px;
left: 54px;
}
.digits li .segment-3{
top: 50px;
left: 54px;
}
.digits li .segment-5{
left: 4px;
top: 50px;
}
.digits li .segment-6{
top: 10px;
left: 4px;
}
.d0 .segment-1,
.d0 .segment-2,
.d0 .segment-3,
.d0 .segment-4,
.d0 .segment-5,
.d0 .segment-6{
opacity: 1;
}
.d1 .segment-2,
.d1 .segment-3{
opacity: 1;
}
.d2 .segment-1,
.d2 .segment-2,
.d2 .segment-4,
.d2 .segment-5,
.d2 .segment-7{
opacity: 1;
}
.d3 .segment-1,
.d3 .segment-2,
.d3 .segment-3,
.d3 .segment-4,
.d3 .segment-7{
opacity: 1;
}
.d4 .segment-2,
.d4 .segment-3,
.d4 .segment-6,
.d4 .segment-7{
opacity: 1;
}
.d5 .segment-1,
.d5 .segment-3,
.d5 .segment-4,
.d5 .segment-6,
.d5 .segment-7{
opacity: 1;
}
.d6 .segment-1,
.d6 .segment-3,
.d6 .segment-4,
.d6 .segment-5,
.d6 .segment-6,
.d6 .segment-7{
opacity: 1;
}
.d7 .segment-1,
.d7 .segment-2,
.d7 .segment-3{
opacity: 1;
}
.d8 .segment-1,
.d8 .segment-2,
.d8 .segment-3,
.d8 .segment-4,
.d8 .segment-5,
.d8 .segment-6,
.d8 .segment-7,
.d8 .segment-8{
opacity: 1;
}
.d9 .segment-1,
.d9 .segment-2,
.d9 .segment-3,
.d9 .segment-4,
.d9 .segment-6,
.d9 .segment-7{
opacity: 1;
}
</style>
</head>
<body>
<ul id="display" class="digits">
<li>
<span class="segment-1"></span>
<span class="segment-2"></span>
<span class="segment-3"></span>
<span class="segment-4"></span>
<span class="segment-5"></span>
<span class="segment-6"></span>
<span class="segment-7"></span>
<span class="segment-8"></span>
</li>
<li>
<span class="segment-1"></span>
<span class="segment-2"></span>
<span class="segment-3"></span>
<span class="segment-4"></span>
<span class="segment-5"></span>
<span class="segment-6"></span>
<span class="segment-7"></span>
<span class="segment-8"></span>
</li>
<li>
<span class="segment-1"></span>
<span class="segment-2"></span>
<span class="segment-3"></span>
<span class="segment-4"></span>
<span class="segment-5"></span>
<span class="segment-6"></span>
<span class="segment-7"></span>
<span class="segment-8"></span>
</li>
</ul>
<button onclick="counter.countTo(this.nextSibling.value)">Считать до:</button><input type="text" />
<script type="text/javascript">
// конструктор дисплея
function Display(id)
{
// dom-элементы представляющие собой цифры
this.digits = document.getElementById(id).getElementsByTagName('li');
// разрядность нашего дисплея
this.width = this.digits.length;
// метод для отображения дисплеем нужного числа
this.set = function(number){
number = number.toFixed();
for (var i=number.length; i <this.width; i++){
number = '0' + number;
}
var i = this.width;
while (i--)
{
this.digits[i].className = 'd' + number[i];
}
}
}
// конструктор счетчика
function Counter()
{
this.value = 0;
this.step = 1;
this.interval = 100;
this.countTo = function(to){
clearInterval(this.intHandler);
if (this.value == to) return true;
var self = this;
var multiplier = (to - this.value < 0) ? -1 : 1;
this.intHandler = setInterval(function(){
self.stepBy(multiplier*self.step);
if (to == self.value) clearInterval(self.intHandler);
}, this.interval);
}
this.stepBy = function(by){
this.value += by;
if (this.onStep) {
this.onStep.call(this, this.value);
}
}
}
var display = new Display('display');
display.set(0);
var counter = new Counter;
counter.onStep = function () {
display.set(this.value);
}
</script>
</body>
</html>
|
Slawaq,
поставил -00 скрипт похоже со мной разговаривать начал, думаю просит его отдебажить :) |
Цитата:
ul, li span в вашем случае все эти элементы можно создать 10-й строчками кода, а то и меньше |
я только посмотрел коменты, и хочу сказать что это просто будет счётчик, который вводит не человек, а АЯКС!!(а ПХП который я напишу не допустит минусов на счету игроков, я надеюсь))) и сам смысл в том что эта вся байда идёть на клиентсайд, и я хотел найти помощи в уменьшении передаваемых кБ, просто это всего лишь один элемент с ещё таких, наверное нескольких, что будут лететь на клиентсайд. И да как на счёт реалистичности??))
|
Цитата:
Насчет нелинейности. Думаю Это делается постоянной установкой разных таймаутов для функции. Величина таймаута зависит нелинейно от какойнибудь величины, меняющейся в пределах от 0 .. 1. Чесно говоря могу только предположить. Тоже интересен вопрос. можно глянуть на всякие animation в jquery/mootoos За партянку извиняюсь - вродебы вписывал код в [ spoiler ] |
Цитата:
Так вот, к чему я это. Ни разу мне в голову не пришло что это будет смотреть только комп. В голову лезли атаки хакеров с зараженных спам машин, происки конкурентов ворующих пароли и инопланетяне. Теперь я сплю спокойно и знаю, что заказчик не подкрадется ко мне сзади и не потребует чего-нибудь, взамен хреново отдебаженого/написанного кода, как у Вас. Я показал вам три ошибки, не хотите исправлять, зачем показывали скрипт, покрасоваться? |
блин, Gozar, я не проф который с нуля сможет сделать свой сервис с нормальной защитой, и хорошей работоспособностью, но это для ВК, а ВК мне сам всё это пришлёт, а мне надо лишь, так сказать, более-менее обрабатывать всё это, ну и делать некоторые операции с счетами, от к операциям, как их более правильней и защищённей делать я буду уже с другой точки зрения смотреть, со всеми наворотами про атаки хакеров)) а это лишь интерфейс, который, так сказать, не будет иметь влияния на роботу системы, он будет, показателем)))
но за терпение перед моей по определению тупой темы, я всё же поставлю плюс за выдержку)) p.s.: нет не смогу поставить плюс, нельзя, слишком много уже раньше отплюсовал):) |
Цитата:
а проверку на тот случай если ВК изменит формат своего вывода, или еще что-то. если такое произойдет, то пользователь будет получать непонятное поведение скрипта вместо понятного "скрипт временно не работает по причине изменения API вконтакте" и кстати подделать хакеру ответ вконтактак для вашегно сркипта гораздо проще чем вам кажется. |
| Часовой пояс GMT +3, время: 12:45. |