Автоматично превъртане до края на страницата, след това до върха и повторете

Създадох табло за управление, което отразява всички редове, но искам автоматично превъртане, което бавно ще превърта надолу в долната част на страницата и след това ще превърта бавно обратно до върха и ще повтори. Търсих това в Google и не мога да получа работещ код. Търсих кодове на jQuery, но всичко ще свърши работа.

Тъй като страницата ще се коригира през цялото време, не може да има превъртане с фиксирана височина.

Не съм сигурен дали имате нужда от повече информация, но ако имате, ще актуализирам този въпрос.

Поздрави Гамбит


person TheGambit    schedule 18.09.2012    source източник
comment
Покажете ни кода, който вече сте пробвали.   -  person Lowkase    schedule 18.09.2012
comment
Опитах само автоматично превъртане до края на страницата, но това не проработи. функция pageScroll() { window.scrollBy(0,1); scrolldelay = setTimeout('pageScroll()',10); }   -  person TheGambit    schedule 18.09.2012
comment
Вижте моя отговор по-долу, използването на обратното извикване на функцията animate ви позволява да имате два метода, които се извикват напред и назад един към друг, така че многократно да се превърта нагоре и надолу.   -  person CaffGeek    schedule 18.09.2012


Отговори (4)


Може да използвате нещо подобно.

//run instantly and then goes after (setTimeout interval)

    $("html, body").animate({ scrollTop: $(document).height() }, 4000);
    setTimeout(function() {
       $('html, body').animate({scrollTop:0}, 4000); 
    },4000);
  var scrolltopbottom =  setInterval(function(){
         // 4000 - it will take 4 secound in total from the top of the page to the bottom
    $("html, body").animate({ scrollTop: $(document).height() }, 4000);
    setTimeout(function() {
       $('html, body').animate({scrollTop:0}, 4000); 
    },4000);

    },8000);

​//Use this to stop the scroller -> clearInterval(scrolltopbottom);

Пример: http://jsfiddle.net/NaP8D/11/

person TimTastic    schedule 18.09.2012
comment
Това работи, но как да намаля скоростта, когато превърта надолу? - person TheGambit; 18.09.2012
comment
@TheGambit Ако ви разбирам правилно, трябва да използвате облекчаване в метода animate. Трябва да го промените от линеен на нещо друго. Включете потребителския интерфейс на jquery за някои алтернативи: jqueryui.com/demos/effect/easing.html - person Johan; 18.09.2012
comment
Редактирайте, вижте моята актуална публикация. просто увеличете или намалете стойността от 4000 до каквато скорост и интервал искате. - person TimTastic; 18.09.2012
comment
Това е чудесно благодаря. Можете ли просто да коментирате какво представлява всяко от 4000 числа? - person TheGambit; 18.09.2012
comment
Актуализирах публикацията си отново с обяснение. Наслади се! :) - person TimTastic; 18.09.2012
comment
Благодаря Тим. Просто чета последния ви ред в кода. Възможно ли е да се използва клавиш като интервал за включване и изключване на превъртането? - person TheGambit; 18.09.2012
comment

Опитвах се да внедря API на MasterCard MoneySend в iOS. API изисква двустранен oauth, за да разреши заявката.

Критериите са:

  1. OAuth трябва да използва RSA-SHA1 за генериране на подпис.
  2. методът на заявка трябва да бъде PUT
  3. тъй като заявката има тяло, трябва да включите хеш на тялото.

Това, което имаме, е ConsumerKey и .p12 файл на PrivetKey. Опитах много библиотеки като RestKit, ASIHTTPRequest, OAuthConsumer и т.н.

Най-накрая стигнах до този код:

#import "NSStringAdditions.h"
#import "ASIHTTPRequest.h"
#import "sha.h"
#import "rsa.h"
#import "pem.h"
#import "objects.h"

#define SANDBOX_CONSUMER_KEY @""
#define PRIVETKEY @""

@interface MC_TestApi ()
<NSURLConnectionDelegate>
{
    NSMutableData *responseData;
    NSURLConnection *urlConnection;
}
@end

@implementation MC_TestApi

- (NSString*)oAuthBodyHash:(NSData*)body
{
    unsigned char digest[SHA_DIGEST_LENGTH];

    SHA1([body bytes], [body length], (unsigned char*)&digest);

    unsigned c = SHA_DIGEST_LENGTH;
    uint8_t *bytes = malloc(sizeof(*bytes) * c);

    unsigned i;
    for (i = 0; i < c; i++)
    {
        int byte = (unsigned int)digest[i];
        bytes[i] = (uint8_t)byte;
    }
    NSData *strData = [NSData dataWithBytesNoCopy:bytes length:c freeWhenDone:YES];

    return [NSString base64StringFromData:strData length:strData.length ];
}

- (NSString *)sha1RsaText: (NSString *)text
{
    NSString *path = [[NSBundle mainBundle] pathForResource: @"MCOpenAPI" ofType: @"pem"];
    FILE *secretFile = fopen([path cStringUsingEncoding: NSUTF8StringEncoding], "r");
    if (secretFile==NULL){
        printf("ERROR opening RSA Keys failed test.pem\n");
        return nil;
    }


    NSData *clearTextData = [text dataUsingEncoding: NSUTF8StringEncoding];
    unsigned char encryptedData[40];
    RSA *rsa = (RSA *)PEM_read_RSAPrivateKey(secretFile, &rsa, NULL, NULL);

    unsigned int encryptionLength = 40; //RSA_size(rsa);

    RSA_sign(NID_sha1, [clearTextData bytes], [clearTextData length], encryptedData, &encryptionLength, rsa);

    unsigned c = 20;
    uint8_t *bytes = malloc(sizeof(*bytes) * c);

    unsigned i;
    for (i = 0; i < c; i++)
    {
        int byte = (unsigned int)encryptedData[i];
        bytes[i] = (uint8_t)byte;
    }
    NSData *strData = [NSData dataWithBytesNoCopy:bytes length:c freeWhenDone:YES];

    return [NSString base64StringFromData:strData length:strData.length ];
}

- (NSString *)urlEncodeValue:(NSString *)str
{
    NSString *result = (NSString *) CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
                                                                                              (CFStringRef)str,
                                                                                              NULL,
                                                                                              CFSTR(":/?#[]@!$&'()*+,;="),
                                                                                              kCFStringEncodingUTF8));
    return result;
}

-(void)requestWithOAuth {

    NSUInteger time = [[NSDate date] timeIntervalSince1970];

    NSString *timestamp = [NSString stringWithFormat: @"%d", time];
    NSString *urlString = @"https://sandbox.api.mastercard.com/moneysend/eligibility/v1/pan";
    NSString *nonce = @"1234567890";
    NSString *consumerKey = SANDBOX_CONSUMER_KEY;

    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@?Format=XML",urlString]];
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
    [request setHTTPMethod:@"PUT"];
    [request setValue:@"application/xml" forHTTPHeaderField:@"content-type"];

    NSString *bodyString = @"<?xml version=\"1.0\" encoding=\"UTF-8\" ?> <PanEligibilityRequest> <SendingAccountNumber>5555555555559999</SendingAccountNumber> </PanEligibilityRequest>";

    NSData *body = [bodyString dataUsingEncoding:NSUTF8StringEncoding];
    NSString *bodyLength = [NSString stringWithFormat:@"%d",[body length]];
    [request setValue:bodyLength forHTTPHeaderField:@"content-length"];

    NSString *oAuthBodyHash = [self oAuthBodyHash:body];

    NSString *header = [NSString stringWithFormat:@"oauth_timestamp=\"%@\",oauth_nonce=\"%@\",oauth_version=\"1.0\",oauth_body_hash=\"%@\",oauth_consumer_key=\"%@\",oauth_signature_method=\"RSA-SHA1\"",timestamp,nonce,oAuthBodyHash,SANDBOX_CONSUMER_KEY];

    NSMutableDictionary *parameters = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                       consumerKey,@"oauth_consumer_key",
                                       nonce,@"oauth_nonce",
                                       @"RSA-SHA1",@"oauth_signature_method",
                                       timestamp,@"oauth_timestamp",
                                       @"1.0",@"oauth_version",
                                       oAuthBodyHash,@"oauth_body_hash",
                                       @"XML",@"Format",
                                       nil];
    NSArray *keys = [parameters allKeys];

    NSSortDescriptor* sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:nil ascending:YES selector:@selector(localizedCompare:)];
    keys = [keys sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
    NSString *test = @"";
    for (NSUInteger i = 0; i<[keys count]; i++) {
        NSString *key = [keys objectAtIndex:i];
        NSString *str = [NSString stringWithFormat:@"%@=%@",key,[parameters objectForKey:key]];
        if (i!=([parameters count]-1))
            str = [str stringByAppendingString:@","];
        test = [test stringByAppendingString:str];
    }

    NSString *signatureString = [NSString stringWithFormat: @"PUT&%@%%26%@",
                                 [self urlEncodeValue: urlString],
                                 [self urlEncodeValue: [test stringByReplacingOccurrencesOfString: @"," withString: @"&"]]];

    NSString *signature = [self sha1RsaText: signatureString];
    NSString *finalAuthHeader = [NSString stringWithFormat: @"OAuth %@,oauth_signature=\"%@\"", header, signature];
    [request setValue:finalAuthHeader forHTTPHeaderField:@"Authorization"];

    [request setHTTPBody:body];

    urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
    [urlConnection start];
}

#pragma mark - NSURLConnectionDelegate

- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
    int code = [httpResponse statusCode];
    NSLog(@"in didReceiveResponse %i %@",code,[NSHTTPURLResponse localizedStringForStatusCode:code]);

    responseData = nil;
    responseData = [[NSMutableData alloc] init];
    [responseData setLength:0];
}

- (void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    NSLog(@"in didReceiveData ");
    [responseData appendData:data];
}

- (void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
    NSLog(@"\n\n ERORR \n\n%@",[NSString stringWithFormat:@"Connection failed: %@", [error description]]);
}

- (void) connectionDidFinishLoading:(NSURLConnection *)connection
{
    if (responseData) {
        NSString *newStr = [NSString stringWithUTF8String:[responseData bytes]];
        NSLog(@"XML: %@",newStr);

    }
    responseData = nil;
}

@end

Моят въпрос е:

  • Какво правя грешно тук?

  • Има ли библиотека с отворен код в iOS, която мога да използвам?

Момчета, моля, помогнете ми с това... благодаря и поздрави

- person TimTastic; 18.09.2012

трябва да опитате това за по-добър резултат

//run instantly and then goes after (setTimeout interval)

$("html, body").animate({ scrollTop: $(document).height() }, 4000);

setTimeout(function() {
   $('html, body').animate({scrollTop:0}, 4000); 
},4000);


setInterval(function(){
     // 4000 - it will take 4 secound in total from the top of the page to the bottom
$("html, body").animate({ scrollTop: $(document).height() }, 4000);
setTimeout(function() {
   $('html, body').animate({scrollTop:0}, 4000); 
},4000);
    
},8000);


$('html, body').mouseover(function(e) {
$(this).stop(true);
      
    }).mouseout(function() {
         $(this).stop(false);
    });
    
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div style="height:2000px; float:left; width:100%;">
Text text
Text text
    Text text
    
    Text text
    Text text
    Text text
    Text text
    
    
    
    Text text
    Text textv
    Text text
    Text text
    
    Text text
    Text textText text
     Text textText text Text textText text
      Text textText text Text textText text Text textText text Text textText text Text textText text
       <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p>Text textText text
     <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p>
        <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p> <p>
             Text textText text Text textText text Text textText text Text textText text Text textText text
       </p>
    

</div>

http://jsfiddle.net/neelu/gvvnd0tt/8/

person neel upadhyay    schedule 12.04.2017

Тук това трябва да работи добре, просто променете 5000 на времето в ms, за да регулирате скоростта.

http://jsfiddle.net/BDc6S/3/

function scrollDown(el) {
    el.animate({
        scrollTop: el[0].scrollHeight
    }, 5000, function() {
        scrollUp(el)
    });
};

function scrollUp(el) {
    el.animate({
        scrollTop: 0
    }, 5000, function() {
        scrollDown(el);
    });
};

scrollDown($("html,body"));​
person CaffGeek    schedule 18.09.2012
comment
Паузата между спиране и начало на превъртането изглежда се увеличава за всеки цикъл. - person dbd; 08.01.2018

function doSomething() {
  $(document).scrollTop($(document).height());
}
setInterval(doSomething, 5000);

Това ще превърта до края на страницата на всеки 5 секунди. Това ще бъде полезно, ако имате автоматично зареждане на съдържание въз основа на потребителско превъртане като facebook.

person FreeBird    schedule 10.12.2015